以下代码来自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'编解码器无法解码位置14中的字节0x9f:意外的代码字节
是否可以解码上述内容?
答案 0 :(得分:3)
无需解码。这些字节构成一个zip文件,您可以通过创造性地使用zipfile
来提取存档的内容。