繁体   English   中英

`UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte`

[英]`UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte`

无法解码响应 object

 text = response.read()
 if isinstance(text, bytes):  
    text = text.decode('utf-8')  

text里面有这个数据,b'\x1f\x8b\x08\x00\x00'

0x1f 0x8b是 gzip 文件的起始字节.decode默认为utf-8不期望起始字节序列 - 因此invalid start byte消息。

尝试使用gzip模块解压缩文件,然后尝试对其进行解码(前提是结果实际上是可解码的)。 文档中的示例,适用于您的案例:

import gzip
data = gzip.decompress(response.read())
text = data.decode('utf-8')

我有一个类似的问题,我只是没有注意到我的文件实际上是压缩的。 即使扩展名不存在,您的文件也可能被压缩。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM