2017-03-22 3 views
0

나는 (사소한 편집으로) here에서 다음 코드를 사용하고 0x8B에 '아스키'코덱 바이트를 디코딩 할 수UnicodeDecodeError :

import _pickle as cPickle 

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

unpickle('data_batch_1') 

내가 코드를 실행하면, 나는 다음을 얻을 것을 제공 사용하고 있습니다 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) 

이 문제를 어떻게 해결할 수 있습니까?

감사합니다.

답변

4

는 라틴어를 사용하여 문자

에 한번의 인코딩에 실패 때문에

cPickle.load(file, encoding='latin1')