1

小さなテキスト (400 バイト) を圧縮し、反対側で解凍したいと考えています。rar や zip などの標準的な圧縮プログラムを使用すると、圧縮ファイルと一緒にメタデータが書き込まれ、ファイル自体よりも大きくなります。

このメタデータなしでファイルを圧縮し、既知の事前パラメーターを使用して反対側で開く方法はありますか?

4

2 に答える 2

3

zlibを使用して生のdeflate圧縮を行うことができます。これにより、zlib形式の6バイトのヘッダーとトレーラーも回避されます。

ただし、400バイトの入力だけでは、圧縮があったとしても、それほど圧縮されないことがわかります。圧縮アルゴリズムは、統計を構築し、データの冗長性を見つけるために、ローリングを取得するためにそれよりもはるかに多くの履歴を必要とします。

代表的な文字列の辞書を作成してコンプレッサーに何かを提供する辞書アプローチを検討するか、これらの400バイトの文字列のシーケンスを単一のストリームと見なして、違った終わり方。

于 2012-12-06T18:59:19.177 に答える
0

ハフマン コードを使用した圧縮を確認できます。例として、こちらこちらをご覧ください。

于 2012-12-06T11:07:05.707 に答える