解码错误:映射到未定义的字符
尝试读取文本文件时,Python 3 程序遇到错误:
UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 2907500: character maps to `<undefined>`
解释:
此错误表示“charmap”编解码器无法解码文本文件中的特定字节。 'charmap' 编解码器用于将字节直接映射到字符的字符编码。
解决方案:
要解决此错误,需要识别正确的编码文本文件的名称并在打开文件时指定它。由于字节 0x90 在 CP1252 编码中没有有效的映射,因此该文件可能使用不同的编码,例如 UTF-8 或 Latin-1。
要使用正确的编码打开文件,请添加编码参数:
file = open(filename, encoding="utf-8")
对于 Latin-1编码:
file = open(filename, encoding="latin-1")
注意:
请参阅“如何确定文本的编码”文档以确定文本文件的正确编码。
以上是如何修复Python的'UnicodeDecodeError:'charmap'编解码器无法解码字节...”?的详细内容。更多信息请关注PHP中文网其他相关文章!