zlib 是否允许从文件中间解压

发布于 2024-11-09 17:30:29 字数 117 浏览 2 评论 0原文

zlib 是否允许从文件中间解压缩?
我的意思是,如果我使用指向压缩数据中间的流调用 inflate 而不调用 inflate 到中间之前的数据,它会起作用吗?

Does zlib allow decompressing from the middle of a file?
What I mean is, if I call inflate with a stream that points to the middle of compressed data without calling inflate to the data preceding the middle, would it work?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梅窗月明清似水 2024-11-16 17:30:29

zlib FAQ 复制(重点是我的):

28。 我可以随机访问压缩流中的数据吗?

不,不是没有一些准备。如果在压缩时定期使用Z_FULL_FLUSH,请小心地在这些点写入所有待处理的数据,并保留这些位置的索引,然后你就可以在这些点开始减压。您必须小心,不要过于频繁地使用 Z_FULL_FLUSH,因为它会显着降低压缩性能。或者,您可以扫描一次 deflate 流以生成索引,然后使用该索引进行随机访问。请参阅示例/zran.c。

Copy from the zlib FAQ (the emphasis is mine):

28. Can I access data randomly in a compressed stream?

No, not without some preparation. If when compressing you periodically use Z_FULL_FLUSH, carefully write all the pending data at those points, and keep an index of those locations, then you can start decompression at those points. You have to be careful to not use Z_FULL_FLUSH too often, since it can significantly degrade compression. Alternatively, you can scan a deflate stream once to generate an index, and then use that index for random access. See examples/zran.c.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文