已解决UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0x8e in position 0: ordinal not in range(128)

已解决(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)

再次运行成功:


在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/yuan2019035055/article/details/125752401