在Python 3中,在创建文件对象时传递一个适当的
errors=值(例如
errors=ignore或
errors=replace)(假定它是-
的子类;
io.TextIOWrapper如果不是,请考虑将其包装在一个对象中!);另外,请考虑传递比
charmap(可能不确定,
utf-8始终是一个好的起点)更可能的编码。
例如:
f = open('misc-notes.txt', encoding='utf-8', errors='ignore')在Python
2中,该
read()操作仅返回字节;然后,诀窍是将它们解码以将它们放入字符串中(实际上,如果需要,则需要字符而不是字节)。如果您对它们的真实编码没有更好的猜测:
your_string.depre('utf-8', 'replace')…替换未处理的字符,或
your_string.depre('utf-8', 'ignore')简单地忽略它们。
也就是说,查找并使用其 实际 编码(而不是猜测
utf-8)将是首选。



