python3下解决UnicodeDecodeError: 'ascii' codec can't decode byte 0x8b in position 6:ordinal not in range(128)
出错代码段
fo = open(path, 'rb')
dicts = pickle.load(fo)
fo.close()
data = dicts['data']
错误截图:
寻找解决办法看网络上有说将导入文件代码加上encoding='bytes’可以解决,于是加上,
dicts = pickle.load(fo, encoding='bytes')
出现错误
将‘bytes’换成‘utf-8’是同样的结果,此方法只适用于python2,在 python 3 用 'bytes' 解码出来的 key 都是二进制的,所以尝试换成
dicts = pickle.load(fo, encoding='iso-8859-1')
错误解决。