bzip2
複数の中間ファイルにデータを書き込まずに、複数のストリームに圧縮したい大量の「入力」データがあります。
入力データのチャンクをバッファーに入れ、BZ2_bzBuffToBuffCompress()
そのバッファーを使用して bzip2 フレーバーのバイトに圧縮し、BZ2_bzBuffToBuffCompress()
入力データがなくなるまで、新しいデータに対する後続の呼び出しを繰り返すことはできますか?
bzip2のドキュメントには、次のように記載されています。
この方法での圧縮はワンショット イベントであり、この関数を 1 回呼び出すだけで実行されます。結果の圧縮データは、完全な bzip2 形式のデータ ストリームです。追加の入力データを提供するために追加の呼び出しを行うメカニズムはありません。そのようなメカニズムが必要な場合は、低レベル インターフェイスを使用してください。
BZ2_bzBuffToBuffCompress()
これは、新しく満たされたバッファーサイズの入力データのチャンクで再実行できないことを意味しますか? BZ2_bzWrite()
代わりに使うべきですか?
編集
実際には、1 つ以上の bzip ストリームを含むことができる 1 つのアーカイブ ファイルに出力することを意味していました。