已解决(Python编码问题)UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0x8e in position 0: ordinal not in range(128)
报错信息
我的代码:
import pickle
with open("./test.pkl", 'rb') as f:
read = pickle.load(f)
print(read)
报错信息:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x8e in position 0: ordinal not in range(128)
报错原因
报错内容翻译:
UnicodeDecodeError:“ascii”编解码器无法解码位置0处的字节0x8e:序号不在范围内(128)
报错原因:
Linux下Python默认编码是ascii,当代码中存在utf-8的字符,就会导致报错。
解决办法
改变编码方式即可
修改代码为:
import pickle
with open("./test.pkl", 'rb') as f:
read = pickle.load(f, encoding='iso-8859-1')
print(read)
再次运行成功: