UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 20: illegal multibyte sequence
时间: 2023-07-21 13:57:58 浏览: 48
关于GBK和Unicode字符集转换乱码问题
3星 · 编辑精心推荐
这个错误通常发生在使用 `gbk` 编码读取文件时,文件中包含了非 `gbk` 编码的字符。具体来说,这个错误是由于在读取文件时,Python 尝试将文件中的字节流解码为 Unicode 字符串,而遇到了无法识别的字节序列,从而导致解码失败。
解决这个问题的方法有两种:
1. 指定正确的编码方式:如果你知道文件实际上使用的是哪种编码方式,可以在打开文件时指定正确的编码方式。例如,如果文件使用的是 `utf-8` 编码,可以这样打开文件:`open('file.txt', 'r', encoding='utf-8')`。
2. 使用错误处理方式:如果你不知道文件使用的是哪种编码方式,可以在打开文件时使用错误处理方式。例如,使用 `ignore` 错误处理方式可以忽略解码失败的字节序列,例如:`open('file.txt', 'r', errors='ignore')`。这种方法虽然可以避免程序崩溃,但是可能会导致文件内容的部分丢失。
阅读全文