2012-03-21 111 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