您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用Python 3的readlines()进行Unicode错误处理

使用Python 3的readlines()进行Unicode错误处理

在Python 3中,在创建文件对象时传递一个适当的errors=值(例如errors=ignoreerrors=replace)(假定它是- 的子类;io.TextIOWrapper如果不是,请考虑将其包装在一个对象中!);另外,请考虑传递比charmap(可能不确定,utf-8始终是一个好的起点)更可能的编码。

例如:

f = open('misc-notes.txt', encoding='utf-8', errors='ignore')

在Python 2中,该read()操作仅返回字节;然后,诀窍是将它们解码以将它们放入字符串中(实际上,如果需要,则需要字符而不是字节)。如果您对它们的真实编码没有更好的猜测:

your_string.decode('utf-8', 'replace')

…替换未处理的字符,或

your_string.decode('utf-8', 'ignore')

简单地忽略它们。

也就是说,查找并使用其 实际 编码(而不是猜测utf-8)将是首选。

python 2022/1/1 18:39:49 有273人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶