我有一些 Python 代码正在接收其中包含错误 unicode 的字符串。当我试图忽略不良字符时,Python 仍然会卡住(版本 2.6.1)。以下是重现它的方法:
s = 'ad\xc2-ven\xc2-ture'
s.encode('utf8', 'ignore')
它抛出
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 2: ordinal not in range(128)
我做错了什么?
最佳答案
将字符串转换为 unicode 实例是 Python 2.x 中的 str.decode()
:
>>> s.decode("ascii", "ignore")
u'ad-ven-ture'
关于Python 无法将错误的 unicode 编码为 ascii,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6124897/