我正在使用zlib解压缩一个文件。我想验证是否有足够的磁盘空间来解压缩该文件。zip格式和zlib是否提供了确定其内容的解压缩大小的工具?
发布于 2015-10-31 05:01:52
如果您的文件是使用gzip格式(RFC1952)压缩的,那么最后4个字节的ISIZE字段表示未压缩的文件大小mod 2^32。因此,假设原始文件小于4 4GB,您可以通过读取最后4个字节来确定其大小。查看手册页中的gunzip。
如果使用ZLIB或raw Deflate格式,则必须首先解压缩以确定解压缩大小。
发布于 2011-02-15 06:07:01
只需创建一个用于压缩的简单文件结构:
{
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
}
现在,您有了解压缩所需的所有信息
https://stackoverflow.com/questions/3081840
复制相似问题