zlib を使用してメモリの小さなブロック (<= 16 KiB) を圧縮したいと考えています。出力もメモリのブロックに保存されます。ここでは、ディスクまたはデータベースへのアクセスはありません。
ドキュメントによると、deflate()
入力全体が収縮するまで繰り返し呼び出す必要があります。その間に、出力先のメモリ ブロックのサイズを大きくする必要があります。
しかし、それは不必要に複雑で、おそらく非効率的ですらあります。入力のサイズを知っているので、出力に必要な最大サイズを事前に決定してから、 を 1 回呼び出すだけですべてを行うことはできませんdeflate()
か?
もしそうなら、最大出力サイズはいくつですか? 私は次のようなものを想定しています:入力のサイズ+いくつかのバイトのオーバーヘッド