2012-03-21 88 views
1

我要尋找一個.NET基於字典的壓縮庫,東西,使我的「種子」它與常用單詞的大名單/字符串,它會用它來建立自己的字典。尋找一本字典基於.NET的文本壓縮庫

,我希望今年過LZMA之類,是因爲我想單獨壓縮短字符串的原因,所有這些都是非常相似對方。可視化壓縮一本簡單的兒童書,但分別壓縮每一頁。如果我們壓縮整本書,那麼LZMA會很好,但對於較短的琴絃來說並不是那麼好。

是否有這樣的東西存在嗎?

+0

這似乎像你所要求的東西,將爲了得到更高的壓縮比,注入任意的,不必要的數據。有點像購買100件東西來節省10%,當你真的只需要1件。或者,我誤解了一些東西。這也是很有可能的。 – 2012-03-21 01:41:36

+0

我不是一個專家,但我會認爲大多數壓縮算法已經考慮到了這一點。它們在比特級上運行並且非常有效。如果你認爲你可以做得更好,請嘗試編寫自己的。 – Rocklan 2012-03-21 01:43:06

+0

@LachlanB我認爲*他的想法是,您可以通過更大,重複的數據集獲得更好的壓縮比*。例如,如果您在一段文字大小適中的文本中重複了上千次「紫色」這個詞,它的壓縮效果就會比只有一次這樣的文字更好。同樣的道理,一個純色的單色PNG文件大小與文件大小相同,無論它的物理大小如何。但他似乎希望*添加額外的數據,以實現額外的壓縮比。 – 2012-03-21 01:46:17

回答

2

zlib提供基於字典壓縮。函數deflateSetDictionary()和inflateSetDictionary()完全按照您的描述進行操作。

+0

好的,謝謝。我只需要現在就.NETify它。 – 2012-03-21 15:02:46

+0

@Mr。 Flibble:這已經完成了;請參閱ZLib軟件包中的contrib/dotzlib目錄。 – user763305 2012-03-21 20:24:31

+0

dotzlib不幸的是不提供* SetDictionary函數的接口。雖然也許這可以作爲Flibble先生的起點。 (Flibble先生,Flibble先生,我喜歡這樣說,Flibble先生) – 2012-03-21 20:41:46