问题:
UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xb8 in position 433: illegal multibyte sequence
解决方法
主要原因是因为编码的问题,可能是因为0x80这个字节在gbk编码中没有这个字符,可能原字符是两个字节,在gbk里被解析成了一个字节,导致字符不存在。解决方法有两个,一个是二进制读取,一个是改编编码方式:
方法一:改变打开文件的编码方式
with open(self.path, 'r', encoding='utf-8') as test:
方法2:二进制读取
with open(self.path, 'rb') as test:
但是这样在读取的是中文文本的时候还可能会产生其他的错误:
TypeError: a bytes-like object is required, not 'str'
Python读取文件时出现UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x80 in position …