2010-06-21 236 views
1

我正在使用zlib来解压文件。我想验证是否有足够的磁盘空间来解压文件。 zip格式和zlib是否提供了用于确定其内容的解压缩大小的工具?zlib:解压缩的文件大小?

回答

0

只需创建一个简单的文件结构,压缩:

{
FileFormatHeader (optional) x bytes
OriginalSize (4 or 8 bytes)
CompressedSize (optional) (4 or 8 bytes)
HashSum (optional) (16 bytes or different number [depends on hash algorithm])

CompressedData
}

现在你有你需要解压

0

如果你的文件是使用gzip格式(RFC1952),那么最后4个字节中,ISIZE字段表示未压缩文件大小模2^32压缩的所有信息。因此,如果原始文件小于4GB,则可以通过读取最后4个字节来确定其大小。检查manz的手册页。

如果使用ZLIB或原始Deflate格式,则必须先解压缩才能确定未压缩的大小。