我知道这里有许多关于如何在Python中使用zlib或gzip模块来解压数据的问题和答案。但我对gzip是如何实现这一点很好奇,因为gzip基于zlib。
我查看了gzip的源代码,并发现它使用zlib以wbits设为-15的方式按块解压数据。
然而,当我直接使用wbits设为-15的zlib解压数据时,它告诉我“无效的块类型”,只有wbits为15 + 16才能正常工作。
我查看了gzip的源代码,并发现它使用zlib以wbits设为-15的方式按块解压数据。
然而,当我直接使用wbits设为-15的zlib解压数据时,它告诉我“无效的块类型”,只有wbits为15 + 16才能正常工作。
我知道为什么我应该使用15+16,但我不知道为什么gzip可以使用-15而我不能。 谁知道我的实现方法和gzip模块之间的差异?