我正在尝试使用一些 python 模块,但它给了我以下错误:
UnicodeDecodeError: 'utf8' codec can't decode byte 0xa9 in position 1
我认为这是因为我的输入文件内部包含非 UTF-8 字符,所以我想在将文件传递给模块之前清理该文件。
如果我想识别非UTF-8字符并删除它们,我该怎么做??我试着用谷歌搜索它,但找不到好的答案。
最佳答案
您可以尝试将文件解码为 UTF-8,忽略任何错误,然后将其重新编码为 UTF-8。
string.decode('utf-8', errors='ignore').encode('utf-8')
或者您可以用适当的序列替换字符(然后可以删除),另请参见 this answer :
string.decode('utf-8', errors='replace').encode('utf-8')
但是你真的应该确定你的数据使用的是哪种编码,并适本地转换它。 iconv
可能会有所帮助。
关于python - Unicode解码错误: 'utf8' codec can't decode byte 0xa9 in position 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32812366/