2017-06-09 126 views
0

我想知道压缩前压缩数据的大小(以字节为单位)。我有只插入到矢量中的文本字符串,但它们可以随机删除,并且在每次操作(插入/删除)后需要知道压缩大小(不压缩)。我可以使用zlib吗?使用zlib压缩计算压缩数据大小

+0

获取压缩大小的唯一方法是压缩。 –

回答

0

libpng的开发者面临这一问题,并通过运行ZLIB两次,一次是不执行任何操作,除了用于测量最终的压缩尺寸,然后,该数据解压缩到一个malloc分配阵列的第二遍处理它。请参阅libpng的pngrutil.c中的“png_inflate_claim()”和“png_inflate()”。这不是微不足道或易于阅读的,大约230行C代码,但它对我们很有帮助。 libpng是开放源代码的,因此可以随时根据需要从libpng中获取所需内容,同时遵守libpng许可证。