2017-06-09 167 views
0

我想知道壓縮前壓縮數據的大小(以字節爲單位)。我有隻插入到矢量中的文本字符串,但它們可以隨機刪除,並且在每次操作(插入/刪除)後需要知道壓縮大小(不壓縮)。我可以使用zlib嗎?使用zlib壓縮計算壓縮數據大小

+0

獲取壓縮大小的唯一方法是壓縮。 –

回答

0

libpng的開發者面臨這一問題,並通過運行ZLIB兩次,一次是不執行任何操作,除了用於測量最終的壓縮尺寸,然後,該數據解壓縮到一個malloc分配陣列的第二遍處理它。請參閱libpng的pngrutil.c中的「png_inflate_claim()」和「png_inflate()」。這不是微不足道或易於閱讀的,大約230行C代碼,但它對我們很有幫助。 libpng是開放源代碼的,因此可以隨時根據需要從libpng中獲取所需內容,同時遵守libpng許可證。