python - Unicode解码错误: 'utf8' codec can't decode byte 0xa9 in position 1

标签 python unicode utf-8

我正在尝试使用一些 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/

相关文章:

python - 如何对每个组的条目进行计数和求和?

c++ - 使用 ReadFile() 简单读取文件

java - Heroku (US-ASCII) 上的默认字符集导致问题

java - 转换 XML 不起作用 UTF-8 XMLOutputter Java

python - Pandas:在字符串匹配后获取列中的下一个值

Python tkinter 使用按钮进行串行工作

c++ - C++ 中的跨平台字符串(和 Unicode)

python - 如何将 unicode 转换为 unicode 转义文本

php - 处理/删除 UTF-8 从右到左覆盖字符的最佳方法是什么?

python - 在按 DataFrame 列着色图时,如何设置每个值的颜色?