zlib gzip decompression python



我的问题是,是否可以用php、python或bash提取压缩文件(gzip deflate)http压缩

我测试这个

import zlib
str_object1 = open('test.png', 'rb').read()
str_object2 = zlib.decompress(str_object1)
f = open('my_recovered_log_file', 'wb')
f.write(str_object2)
f.close()

以及一个得到这个结果的

File "testgz", line 4, in <module>
    str_object2 = zlib.decompress(str_object1)
zlib.error: Error -3 while decompressing data: incorrect header check

ty

尽管zlib使用与gzip相同的机制来压缩/解压缩,但它们使用不同的头作为校验和。

Python的zlib可以解压缩gzip文件,但Python为此提供了一个方便的库gzip

PNG文件格式中嵌入了一个或多个zlib流。您需要对格式进行解码才能找到它们,此时您可以使用zlib.decompress对它们进行解压缩。不能从一开始就使用zlib来解压缩.png文件。

有关格式,请参见PNG规范。

你的问题似乎很困惑,因为你举了一个试图解码.png文件的例子,但你问的是"(gzip deflate)http压缩",这是一件完全不同的事情。是的,您可以在正确使用wbits参数的情况下对这些对象使用zlib.decompress

最新更新