获取嵌入的zlib压缩文件的压缩大小

问题描述 投票:0回答:1

我有一个文件,其中包含使用zlib压缩的嵌入式文件。

我知道压缩文件在主文件中的起始位置,并且我有解压缩的文件大小,但不知道压缩文件的结束位置。

我的目标是从包含的文件中提取压缩文件并将其保存为自己的文件。

给定压缩文件的起始位置和解压缩文件大小,有什么能告诉我压缩文件大小或压缩文件结束的位置吗?

现在我从zlib标头传递到EOF到一个膨胀函数。这适用于较小的文件,因为inflate函数将在压缩文件结束后丢弃任何数据,并仅返回解压缩的字节。但是对于压缩文件位于文件顶部附近的较大文件,我的系统没有足够的内存来将大部分文件传递给inflate函数。

compression zlib
1个回答
1
投票

zlib流是自终止的。通过解压缩并查看完成后消耗了多少字节,可以找到压缩长度。

你提到一些没有足够内存的东西。主zlib函数一次处理一段流,这是用于解压缩的inflate*函数。阅读zlib.h

© www.soinside.com 2019 - 2024. All rights reserved.