解码字节
下面这段代码来自 zipfile.py。
self.fp.write(zinfo.FileHeader())
def FileHeader(self):
header = struct.pack(structFileHeader, stringFileHeader,
self.extract_version, self.reserved, flag_bits,
self.compress_type, CRC, dosdate, CRC,
compress_size, file_size,
len(filename), len(extra))
return header + filename + extra
在另一个文件中:
// Some other codes.....
zip_file = zip_dir(self.upload_dir)
zip_file.getvalue()
我的问题:
调用 'zip_file.getvalue()' 的结果如下:
...b'PK\x03\x04\x14\x00\x00\x00\x00\x00\x00\x00O>\x9f\xec\x04\xd0\x06\x00\x00\x00\x06\x00\x00\x00\n\x00\x00\x00index.htmlyellowPK\x01\x02\x14\x03\x14\x00\x00\x00\x00\x00\x84\x93O>\x9f\xec\x04\xd0\x06\x00\x00\x00\x06\x00\x00\x00\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x81\x00\x00\x00\x00index.htmlPK\x05\x06\x00\x00\x00\x00\x01\x00\x01\x008\x00\x00\x00.\x00\x00\x00\x00\x00'
如果我尝试解码,也就是:
zip_file.getvalue().decode()
它会提示:
'utf8' 编码无法解码字节 0x9f,在位置 14:意外的代码字节
那么,以上内容有可能解码吗?
1 个回答
4
这里没有什么需要解码的。这些字节组成了一个压缩文件,你可以通过巧妙使用 zipfile
来提取这个压缩包里的内容。