使用 zlib 压缩的数据格式是什么以及如何从命令行或其他应用程序中解压缩它们?

What is the format of the data compressed using zlib and how to uncompress them from command line or other apps?

我正在使用 qCompress() 压缩文件中的数据。现在的要求是,这个文件应该可以通过命令行或一些标准的压缩工具手动解压缩。

由于 qCompress() 使用 zlib 库,该文件的扩展名应该是什么(即 .zip、.gz、.bz 等)?
另外应该使用什么样的 standalone cli 工具来解压这些文件?
(以编程方式我们可以使用 qUncompress())。

文档很少,但据我所知,qCompress() 写入一个四字节长度,后跟一个 zlib 流。该格式没有文件格式、扩展名或命令行工具。你必须自己写。

这将非常简单。只需丢弃前四个字节,并将其余字节提供给 zlib(您的机器上可能已经安装了一个 C 库)。

如果你在Unixish系统上,你可以使用dd去除前四个字节,然后将得到的zlib流提供给pigz -dz