私は、プロジェクト上でMiniLZOを使用しています。私は1つのプログラムで圧縮しており、別のプログラムで圧縮解除しています。減圧バッファーにどれくらいのスペースを割り当てるかを知りたい。私は、出力ファイルに圧縮解除されたデータがどのくらいのスペースを取るべきかを宣言する整数で注釈を付ける手間を省くことができれば、スペースを過剰に割り当てても問題ありません。どのくらいのスペースを取ることができるのだろうか?LZO圧縮解除バッファーサイズ
いくつか検討した後、私はこの質問を次のように説明します:lzo1x圧縮の最大圧縮率はいくらですか?
これも良い提案ですが、注釈を追加しています。まさに私が避けたいものです。そのように、私はただ一つのブロックでデータを圧縮するだけでよく(それは既にそれがどのように保存されているかと同じように)、ブロックサイズで注釈を付けることができます。 – Benson
出力に*解凍された*サイズを格納したくないと思っていました。入力ブロックが常にNバイト未満であることを保証しない限り、何らかのブロックマーカの保存を避けることはできません。圧縮された各ストリームには正確に1つのブロックがあるため、デリミタは必要ありません。または、デコンプレッサを拡張して部分的な結果を返すことができ、バッファをいっぱいにするときには「もっとやる」コードなので、繰り返し入力して入力全体を解凍することができます。 –
良い提案はありますが、圧縮解除されたバッファーのサイズを保存する方が簡単な方法だと思います。だから、私は私の質問への答えは、 "それを乗り越え、圧縮解除されたサイズで注釈をつける"と思う。 – Benson