膨胀 gzip 内存流的最直接方法

Most straightforward way of inflating gzip memory stream

我有一个 gzip 文件需要在我的应用程序中读取和解压缩。我刚刚通读了 zlib manualzlib 函数似乎可以通过内存缓冲区进行操作,但是 gzip 接口都是基于文件的。

像这样处理 gzip 文件的最常用方法是什么?我是否需要自己处理 gzip 文件格式,提取压缩数据,并将其传递给 zlib 函数?

注意:基于文件的方法不起作用的原因是文件位于只读介质上的存档中,因此我无法先提取文件并使用 zlib 中的 gzip 函数。这是一个嵌入式 Linux 系统。

您需要再次"read through" zlib 手册,这次通读一遍。 inflateInit2() 有解压缩 gzip 流的选项。