UnicodeDecodeError:“charmap”编解码器不能解码位于Y位置的字节X:

UnicodeDecodeError:“charmap”编解码器不能解码位于Y位置的字节X:

我试图让Python 3程序对一个充满信息的文本文件进行一些操作。但是,当试图读取该文件时,我会得到以下错误:

追溯(最近一次调用):
文件“脚本位置”,行号,在
text = file.read()
文件“C:\Python 31\lib\encode\cp1252.py”,第23行,解码
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError:“charmap”编解码器无法解码位置2907500的字节0x90:字符映射到<undefined>

如果有人能帮我解决这个问题,我将非常感激。


绝地无双
浏览 1480回答 3
3回答

明月笑刀无情

所讨论的文件没有使用CP1252编码。它使用了另一种编码。哪一个你得自己弄明白。常见的是Latin-1和UTF-8..自0x90实际上并不意味着Latin-1,&nbsp;UTF-8(在哪里0x90是一个延续字节)更有可能。打开文件时指定编码:file&nbsp;=&nbsp;open(filename,&nbsp;encoding="utf8")

慕莱坞森

如果您无法知道是什么编码,那么上面的解决方案就不起作用了(它不起作用)utf8(你发现自己只是猜测在线工具你可以用它来识别编码是什么。它们并不完美,但通常工作得很好。在您计算出编码之后,您应该能够使用上面的解决方案。编辑:一个很受欢迎的文本编辑器Sublime Text如果设置了编码,则有一个要显示编码的命令.去View&nbsp;->&nbsp;Show Console(或克特+`)输入底部的字段view.encoding()希望是最好的(我没有得到任何东西,除了Undefined但也许你会有更好的运气.)

桃花长相依

只是想加入以防万一file = open(filename, encoding="utf8")不起作用file = open(filename, errors='ignore')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python