Python 中 'UnicodeDecodeError: 'gbk' codec can't decode byte 0xab...' 错误解决方法
这个错误是因为你的文件编码方式为 GBK,而你尝试用 UTF-8 编码方式进行解码。
解决这个问题的方法是使用正确的编码方式进行解码。你可以尝试以下几种方法:
- 使用 GBK 编码方式进行解码:
lines = file.read(2).decode('gbk', 'ignore')
- 使用 try-except 语句捕获异常,并使用不同的编码方式进行解码:
try:
lines = file.read(2).decode('utf-8', 'ignore')
except UnicodeDecodeError:
lines = file.read(2).decode('gbk', 'ignore')
- 如果你不确定文件的编码方式,可以使用 chardet 库自动检测文件的编码方式,并使用检测到的编码方式进行解码:
import chardet
with open('file.txt', 'rb') as file:
rawdata = file.read()
result = chardet.detect(rawdata)
lines = rawdata.decode(result['encoding'], 'ignore')
希望这些方法能够解决你的问题!
原文地址: https://www.cveoy.top/t/topic/mLPK 著作权归作者所有。请勿转载和采集!