使用多种编码对文本进行编码

时间:2019-05-10 10:02:17

标签: python python-3.x encoding utf-8

我试图用python打开一个txt文件,并使用open()read()读取它,问题是某些文本不是UTF-8。这是错误:

  

UnicodeDecodeError:“ charmap”编解码器无法解码位置的字节0x8f   1911885:字符映射到

如何阅读本文档?

1 个答案:

答案 0 :(得分:0)

您可能想检查该问题的所有答案,因为它看起来与您的答案非常相似:UnicodeDecodeError: 'charmap' codec can't decode byte X in position Y: character maps to <undefined>

如该网站所述,请尝试:

file = open(filename, encoding="utf8")

正打算将其作为评论分享,但我对此没有足够的声誉:)

编辑:阅读您的评论作为对我之前的回答并由塞特(Cett)建议对其进行改进后:

处理编码错误的最佳方法可能是使用errors参数。如您的问题所述,如果仅某些字符未解码,则可以使用。

file = open(filename, encoding="utf8", errors = "ignore")

注意:使用此参数将导致Python忽略该特殊字符。因此,仅在丢失一些数据的情况下,我才建议这样做。