【发布时间】:2014-11-14 03:37:18
【问题描述】:
我知道 zlib/miniz 提供了 compressBound,它根据纯文本大小返回 deflate/compress 大小的上限。很方便。
是否有用于返回膨胀/解压缩大小上限的膨胀 (zlib/miniz) 函数? 还是一个简单的公式决定了它?喜欢:
decompress size = compressed size * factor
【问题讨论】:
我知道 zlib/miniz 提供了 compressBound,它根据纯文本大小返回 deflate/compress 大小的上限。很方便。
是否有用于返回膨胀/解压缩大小上限的膨胀 (zlib/miniz) 函数? 还是一个简单的公式决定了它?喜欢:
decompress size = compressed size * factor
【问题讨论】:
是的,但我认为您不会觉得它很有用。上限为输入数据大小的 1032 倍。
【讨论】:
uncompress(NULL, &dsize, cbuf, csize);,但这似乎不起作用。
uncompress() 不支持。但是,您可以直接使用 inflate* 函数解压缩和丢弃数据,以便找到未压缩数据的长度。虽然只解压缩一次会更快。您可以根据需要使用realloc() 或其他可增长的数据结构来增加分配内存的大小,