如何在读取时“解压”gzipped流?

4

我的程序使用HTTP协议从网络读取gzip压缩的文件。
我需要让程序即使在没有完全接收到gzip文件的情况下也能解压内容并进行解析。
这个可行吗?
如果可以,能用C++实现吗?如果可以,怎么做?

2个回答

7
您可以尝试使用gzstream库:

Gzstream是一个小型的C++库,基本上只是一个包装器,它提供了zlib C库在C ++ iostream中的功能。 它在LGPL许可下免费提供。


1
我需要在内存中解压经过gzip压缩的内容。我没有看到这个库如何帮助我。 - Guy

4

我所看到的都是与处理磁盘上的gzipped文件相关的gzip函数。我需要在内存中解压缩gzipped流。 - Guy
搜索 http://www.zlib.net/manual.html#Introduction 文档中的“gzip”,会出现许多描述处理gzip流时行为的章节。从文档中的介绍和这些章节中,我得出结论:可以通过通常的inflate/deflate接口来读取gzip流。 - Ronny Brendel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接