这似乎是国际开发人员中的常见问题,但我还没有找到一个直接的答案。
我从提要中得到以下字符串:
“ Carlos e Carlos mostram o queháde melhor na internet”

以下错误返回到控制台:
UnicodeDecodeError:“ utf8”编解码器无法解码位置31-33中的字节:无效数据

提前致谢,

fbr

最佳答案

您不能只是使用某种随机编码进行解码,即使它是UTF-8,也是如此。您必须使用HTTP标头中返回的编码或文档中的等效编码(例如HTML的META元素)进行解码。

如果编码不可用或不正确,则应在the decode operation中指定在无效字节序列上会发生什么;通常'replace'就足够了。

>>> print u'Carlos e Carlos mostram o que há de melhor na internet'.encode('latin1').decode('utf-8', 'replace')
Carlos e Carlos mostram o que h�e melhor na internet

10-04 10:36