UnicodeDecodeError:'charmap'编解码器无法解码位置Y中的字节X:字符映射到
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UnicodeDecodeError:'charmap'编解码器无法解码位置Y中的字节X:字符映射到相关的知识,希望对你有一定的参考价值。
我正在尝试使用填充了信息的文本文件来对Python 3程序进行一些操作。但是,在尝试读取文件时,我收到以下错误:
Traceback(最近一次调用最后一次): 文件“SCRIPT LOCATION”,第NUMBER行
text = file.read()
在解码中文件“C: Python31 lib encodings cp1252.py”,第23行return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError:'charmap'编解码器无法解码位置2907500中的字节0x90:字符映射到<undefined>
如果有人能给我任何帮助试图解决这个问题,我将非常感激。
有问题的文件没有使用CP1252
编码。它正在使用另一种编码。你需要弄清楚哪一个。常见的是Latin-1
和UTF-8
。由于0x90实际上并不意味着Latin-1
中的任何内容,因此UTF-8
(其中0x90是一个连续字节)更有可能。
您在打开文件时指定编码:
file = open(filename, encoding="utf8")
作为@LennartRegebro的扩展答案:
如果你不知道它是什么编码并且上面的解决方案不起作用(它不是utf8
)你发现自己只是猜测 - 你可以使用online tools来识别它是什么编码。它们并不完美但通常工作得很好。在计算出编码后,您应该可以使用上面的解决方案。
编辑:(复制评论)
一个非常流行的文本编辑器Sublime Text
有一个命令显示编码如果已设置...
- 去
View
- >Show Console
(或Ctrl +`)
- 输入底部
view.encoding()
的字段并希望最好(除了Undefined
我无法得到任何东西,但也许你会有更好的运气......)
只是添加以防file = open(filename, encoding="utf8")
不起作用尝试file = open(filename, errors='ignore')
以上是关于UnicodeDecodeError:'charmap'编解码器无法解码位置Y中的字节X:字符映射到的主要内容,如果未能解决你的问题,请参考以下文章
UnicodeDecodeError:'charmap'编解码器无法解码位置Y中的字节X:字符映射到
python在进交互UnicodeDecodeError: 'gbk' codec can't decode byte 0x99 in position 166?
python2 当中 遇到 UnicodeDecodeError UnicodeDecodeError: 'ascii' codec can't decode byte 0xe
exception2:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd7 in position 0: inval
cocos2d-x-3.0beta2创建项目遇到“UnicodeDecodeError: 'ascii' codec can't decode byte 0xd7 in pos