Bob*_*Bob 21 python encoding text python-3.x
我在阅读文本文件时不断收到此错误.是否可以处理/忽略它并继续?
UnicodeEncodeError:'charmap'编解码器无法解码位置7827中的字节0x81:字符映射到未定义.
Cha*_*ffy 43
在Python 3中,在创建文件对象时传递适当的errors=值(例如errors=ignore或errors=replace)(假设它是 - 的子类io.TextIOWrapper- 如果不是,请考虑将其包装在一个!); 另外,考虑传递更可能的编码charmap(当你不确定时,utf-8总是一个好的开始).
例如:
f = open('misc-notes.txt', encoding='utf-8', errors='ignore')
Run Code Online (Sandbox Code Playgroud)
在Python 2中,read()操作只返回字节; 然后,诀窍是解码它们以使它们成为一个字符串(如果你这样做,实际上,想要字符而不是字节).如果您对其实际编码没有更好的猜测:
your_string.decode('utf-8', 'replace')
Run Code Online (Sandbox Code Playgroud)
...替换未处理的字符,或
your_string.decode('utf-8', 'ignore')
Run Code Online (Sandbox Code Playgroud)
简单地忽略它们.
也就是说,找到并使用他们的真实编码(而不是猜测utf-8)将是首选.
| 归档时间: |
|
| 查看次数: |
38807 次 |
| 最近记录: |