我要寻找一个.NET基于字典的压缩库,东西,使我的“种子”它与常用单词的大名单/字符串,它会用它来建立自己的字典。寻找一本字典基于.NET的文本压缩库
,我希望今年过LZMA之类,是因为我想单独压缩短字符串的原因,所有这些都是非常相似对方。可视化压缩一本简单的儿童书,但分别压缩每一页。如果我们压缩整本书,那么LZMA会很好,但对于较短的琴弦来说并不是那么好。
是否有这样的东西存在吗?
我要寻找一个.NET基于字典的压缩库,东西,使我的“种子”它与常用单词的大名单/字符串,它会用它来建立自己的字典。寻找一本字典基于.NET的文本压缩库
,我希望今年过LZMA之类,是因为我想单独压缩短字符串的原因,所有这些都是非常相似对方。可视化压缩一本简单的儿童书,但分别压缩每一页。如果我们压缩整本书,那么LZMA会很好,但对于较短的琴弦来说并不是那么好。
是否有这样的东西存在吗?
zlib提供基于字典压缩。函数deflateSetDictionary()和inflateSetDictionary()完全按照您的描述进行操作。
好的,谢谢。我只需要现在就.NETify它。 – 2012-03-21 15:02:46
@Mr。 Flibble:这已经完成了;请参阅ZLib软件包中的contrib/dotzlib目录。 – user763305 2012-03-21 20:24:31
dotzlib不幸的是不提供* SetDictionary函数的接口。虽然也许这可以作为Flibble先生的起点。 (Flibble先生,Flibble先生,我喜欢这样说,Flibble先生) – 2012-03-21 20:41:46
内置的GZip:GZipStream Class。你应该将其部署为一个SQLCLR UDF功能,满足您的需求,请参阅How to: Create and Run a SQL Server User-Defined Function by using Common Language Run-time Integration
我在支持设置字典的课程中没有看到任何内容。除非有提供该接口的接口,否则该用户将需要直接使用zlib库。 – 2012-03-21 14:44:44
这似乎像你所要求的东西,将为了得到更高的压缩比,注入任意的,不必要的数据。有点像购买100件东西来节省10%,当你真的只需要1件。或者,我误解了一些东西。这也是很有可能的。 – 2012-03-21 01:41:36
我不是一个专家,但我会认为大多数压缩算法已经考虑到了这一点。它们在比特级上运行并且非常有效。如果你认为你可以做得更好,请尝试编写自己的。 – Rocklan 2012-03-21 01:43:06
@LachlanB我认为*他的想法是,您可以通过更大,重复的数据集获得更好的压缩比*。例如,如果您在一段文字大小适中的文本中重复了上千次“紫色”这个词,它的压缩效果就会比只有一次这样的文字更好。同样的道理,一个纯色的单色PNG文件大小与文件大小相同,无论它的物理大小如何。但他似乎希望*添加额外的数据,以实现额外的压缩比。 – 2012-03-21 01:46:17