UnicodeDecodeError:'ascii'编解码器无法解码字节0x8b

Sim*_*ity 6 python unicode codec

我在这里使用以下代码(带有少量编辑):

import _pickle as cPickle 

def unpickle(file):
    fo = open(file, 'rb')
    dict = cPickle.load(fo)
    fo.close()
    return dict

unpickle('data_batch_1')
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,我得到以下内容,前提是我正在使用Python 3.5.2:

Traceback (most recent call last):
  File "open_batch.py", line 10, in <module>
    unpickle('data_batch_1')
  File "open_batch.py", line 5, in unpickle
    dict = cPickle.load(fo)
UnicodeDecodeError: 'ascii' codec can't decode byte 0x8b in position 6: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

谢谢.

Rob*_*t I 14

因为它对字符的编码失败了

尝试使用拉丁语

cPickle.load(file, encoding='latin1')
Run Code Online (Sandbox Code Playgroud)