python - Unicode解码错误: 'ascii' codec can't decode byte 0x8b

标签 python unicode codec

我正在使用来自 here 的以下代码(稍作修改):

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)

我该如何解决这个问题?

谢谢。

最佳答案

由于字符编码失败

尝试使用拉丁语

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

关于python - Unicode解码错误: 'ascii' codec can't decode byte 0x8b,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42940851/

相关文章:

python - 使用 dateutil.parser 转换 DDMMYYYY

vim中的正则表达式unicode字符

java - 通过 MYSQL 存储过程通过 JDBC 插入韩文字符出错

javascript - Z͎̠͗ͣḁ̵͙̑l͖͙̫̲̉̃ͦ̾͊ͬ̀g͔̤̞͓̐̓̒̽o͓̳͇̔ͥ文本如何被阻止?

webrtc - 有没有办法在 WebRTC PeerConnection 中选择编解码器?

python - 如何检查一个变量与另一个变量共有多少个字符

Python数据结构推荐?

python - Python切片语法list[::-1]中第一个冒号怎么解释

camera - Motion JPEG 和 JPEG 、嵌入式和多媒体编解码器之间的确切区别

android - 适用于 iOS 和 Android 的 HTTP 视频流编解码器(HTML5 嵌入)