我找到了一个位置,实际上应该是' \ xe6 \ x9d \ xad \ xe5 \ XB7 \ x9e \ xe5 \ XB8 \ X82&#39 ;.我怎么能解码这样的东西?
答案 0 :(得分:0)
我建议你阅读python 2.7 unicode。
\u0107\x9d\xad\u013a\u02c7\x9e\u013a\xb8\x82
不等于\xe6\x9d\xad\xe5\xb7\x9e\xe5\xb8\x82
,因此我认为您的抓取工具代码存在问题。
在python2.x中,你应该注意编码问题。在Python2中我们有两种文本类型: str用于所有意图和目的仅限于ASCII + 7位范围以上的一些未定义数据,unicode等同于Python 3 str类型和一个字节类型bytearray,它继承自Python 3。
Python2通过允许强制字节字符串和非字节字符串提供从非Unicode到Unicode的迁移路径。 您可以查看More About Unicode in Python 2 and 3。
您也可以在脚本开头添加它,它将系统默认编码设置为utf-8。它是测试程序的用户,它将解决您的问题。
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
事实上,我并不建议程序员在大型程序中使用它。它可能会引发其他问题。
实际上不鼓励Python2.x中的编码问题,如果你想避免编码问题,你应该开始认真考虑切换到Python3。
希望这有帮助。