2012-03-21 20 views
1

私は.NET辞書ベースの圧縮ライブラリを探しています。辞書。辞書ベースの.NETテキスト圧縮ライブラリをお探しですか?

LZMAなどでこれをやりたいのは、互いに似ている短い文字列を独立して圧縮したいからです。単純な子供向けの本を圧縮して可視化しますが、各ページを別々に圧縮します。もし私たちが本全体を圧縮していたら、LZMAは良いでしょうが、短い文字列ではそれほど大きくありません。

このようなことはありますか?

+0

これは、より高い圧縮率を得るために、任意の不要なデータを注入するようなものを求めているようです。あなたが本当に必要なときに10%を節約するために何かの100を買うのような並べ替え。または、私は何かを誤解しています。どちらも可能です。 –

+0

私はエキスパートではありませんが、ほとんどの圧縮アルゴリズムが既にこの問題を処理していると思います。彼らはビットレベルで動作し、非常に効果的です。あなたがそれをより良くすることができると思うなら、あなた自身のことを書いてみてください。 – Rocklan

+0

@ LachlanB私は思っています*彼が得ているのは、より大きい繰り返しのデータセットでより良い圧縮率*を得るという考え方です。たとえば、「紫色」という言葉が適度なサイズのテキストに数千回繰り返されている場合、単語が1回しかない場合よりも圧縮率が向上します。同じ理由で、単色の単色のPNGファイルは、物理的なサイズにかかわらず同じファイルサイズです。しかし彼は余分な圧縮率を達成するために余分なデータを追加することを望んでいるようです。 –

答えて

2

zlibは、辞書ベースの圧縮を提供します。関数deflateSetDictionary()とinflateSetDictionary()は、あなたが記述したものとまったく同じです。

+0

OK、ありがとうございます。私は今それを.NETifyする必要があります。 –

+0

@フリブール:それはすでに行われている。 ZLibパッケージのcontrib/dotzlibディレクトリを参照してください。 – user763305

+0

残念ながら、dotzlibは* SetDictionary関数へのインターフェイスを提供しません。おそらくそれがFlibbleの出発点として使用されるかもしれないが。 (Flibbleさん、Flibbleさん、私はそれを言っています。Flibbleさん) –

関連する問題