Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用多种编码对文本进行编码_Python_Python 3.x_Encoding_Utf 8 - Fatal编程技术网

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

Python 使用多种编码对文本进行编码,python,python-3.x,encoding,utf-8,Python,Python 3.x,Encoding,Utf 8,我试图用python打开一个txt文件,并使用open()和read()读取它,问题是有些文本不是UTF-8。以下是错误: UnicodeDecodeError:“charmap”编解码器无法解码位置中的字节0x8f 1911885:角色映射到 如何阅读此文档?您可能需要检查此问题的所有答案,因为它与您的答案非常相似: 如网站中所述,请尝试: file = open(filename, encoding="utf8") 我计划将此作为评论分享,但我没有足够的声誉:) 编辑:阅读您的评论作为对我

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

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


如何阅读此文档?

您可能需要检查此问题的所有答案,因为它与您的答案非常相似:

如网站中所述,请尝试:

file = open(filename, encoding="utf8")
我计划将此作为评论分享,但我没有足够的声誉:)

编辑:阅读您的评论作为对我先前答案的回应,并按照Cett的建议进行改进后:

处理编码错误的最佳方法可能是使用errors参数。正如你在问题中所说,如果只有一些字符没有被解码,那么这应该是可以使用的

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

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

您可能需要检查此问题中的所有答案,因为它与您的答案非常相似:

如网站中所述,请尝试:

file = open(filename, encoding="utf8")
我计划将此作为评论分享,但我没有足够的声誉:)

编辑:阅读您的评论作为对我先前答案的回应,并按照Cett的建议进行改进后:

处理编码错误的最佳方法可能是使用errors参数。正如你在问题中所说,如果只有一些字符没有被解码,那么这应该是可以使用的

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

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

我尝试按照评论中所说的去做,但在文本编辑器中,它说编码是UTF-8格式的,但python无法对其中的一些进行解码,因为它不在UTF-8格式中。我也尝试过“使用编码保存”和utf-8,但它仍然不起作用。虽然这个链接可以回答这个问题,但最好在这里包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。-@Cettt我明白了,我很抱歉没有这么做。正如我所说,我最初的目的是发表评论,而不是回答,但不幸的是,我没有足够的代表这样做。我已经按照建议改进了我的答案。谢谢你的建议,我保证不再重复:)我不主张使用
errors='ignore'
参数。它本质上意味着丢失数据。将从输入中删除字符,不带任何痕迹。如果您破坏了输入数据,这只是最后的手段。@lenz-True,但接下来还能做什么呢?也许手动从文件中找出字符并替换它们,或者仅仅为此开发一个Python脚本?我试着按照评论所说的做,但在文本编辑器中说编码是UTF-8的,但Python无法解码其中一些字符,因为它不在UTF-8中。我也尝试过“使用编码保存”和utf-8,但它仍然不起作用。虽然这个链接可以回答这个问题,但最好在这里包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。-@Cettt我明白了,我很抱歉没有这么做。正如我所说,我最初的目的是发表评论,而不是回答,但不幸的是,我没有足够的代表这样做。我已经按照建议改进了我的答案。谢谢你的建议,我保证不再重复:)我不主张使用
errors='ignore'
参数。它本质上意味着丢失数据。将从输入中删除字符,不带任何痕迹。如果您破坏了输入数据,这只是最后的手段。@lenz-True,但接下来还能做什么呢?也许手动从文件中找出字符并替换它们,或者仅仅为此开发一个Python脚本?可能的重复显示一个小的工作代码片段来演示问题。看起来您还没有打开文件以读取UTF-8。可能的副本显示了一段演示问题的小代码。看起来您尚未打开该文件以读取UTF-8。