这似乎是国际开发人员中的常见问题,但我还没有找到一个直接的答案。
我从提要中得到以下字符串:
“ 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