几个小时以来,我一直在尝试在 C 中实现 PHP gzinflate() 的行为。在 PHP 中,它只是: gzinflate($str); 在 Python 中它是: import zlib ... return zlib.decompress( decoded_data , -15) ... 但我只是无法在 C 中实现它。有人可以帮我吗?我真的被困住了..我试图用 Zlib 做点什么,但没有用..有人说得通吗?
提前致谢,
尼莫
这个zlib 使用示例非常详尽。
请注意,您在这里比在 Python 或 PHP 中更接近裸机,因此使用并不那么简单。
附录:
PHPgzinflate
和gzdeflate
函数执行输入和输出原始 DEFLATE 格式。另一方面,zlib 函数默认使用 zlib 流,这与添加 2 字节标题和 4 字节尾部相同。
您可以切换到使用生成 ZLIB 格式的 PHPgzcompress
和gzuncompress
函数,或者(如果您有最新版本的 zlib)使用deflateInit2
函数代替deflateInit
并为 指定负值windowBits
,这会请求原始 DEFLATE 格式。