2

几个小时以来,我一直在尝试在 C 中实现 PHP gzinflate() 的行为。在 PHP 中,它只是: gzinflate($str); 在 Python 中它是: import zlib ... return zlib.decompress( decoded_data , -15) ... 但我只是无法在 C 中实现它。有人可以帮我吗?我真的被困住了..我试图用 Zlib 做点什么,但没有用..有人说得通吗?

提前致谢,

尼莫

4

1 回答 1

5

这个zlib 使用示例非常详尽。

请注意,您在这里比在 Python 或 PHP 中更接近裸机,因此使用并不那么简单。

附录:

PHPgzinflategzdeflate函数执行输入和输出原始 DEFLATE 格式。另一方面,zlib 函数默认使用 zlib 流,这与添加 2 字节标题和 4 字节尾部相同。

您可以切换到使用生成 ZLIB 格式的 PHPgzcompressgzuncompress函数,或者(如果您有最新版本的 zlib)使用deflateInit2函数代替deflateInit并为 指定负值windowBits,这会请求原始 DEFLATE 格式。

于 2009-09-28T01:05:31.460 回答