有关压缩/解压技术的文档
我已经完成了当前的“兼职”项目,正在寻找新的东西。
我决定尝试编写自己的压缩/解压缩实用程序。 我不打算卖掉它或任何东西——这更多是为了我自己的利益。
最好是 C#,但 Java 或 C 也可以。
任何人都可以推荐一些我可以研究的压缩/解压技术的好资源吗? 希望其中一些不涉及博士学位级别的数学!
I've finished my current "part-time" project and am looking for something new.
I've decided to have a crack at writing my own compression / decompression utility. I'm not planning on selling it or anything - it's more for my own interest.
Preferably, it will be be in C# but Java or C is OK.
Can anyone suggest some good sources on compression / decompression techniques that I can study. Hopefully, some that don't involve maths at a doctorate level!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
关于此主题的一本好书是《数据压缩书》。 它从基础知识开始,以 JPEG 和分形图像压缩算法结束。
我几年前读完了整本书(我想是第一版),我仍然记得这是一次非常有益的经历。
A good book on this topic is The Data Compression Book. It starts off with the basics and ends up with JPEG and fractal image compression algorithms.
I worked through this whole book years ago (the first edition, I think) and I still remember it as a really rewarding experience.
我发现维基百科在这方面是一个非常好的来源。 例如,请参阅霍夫曼编码、LZW 和 Deflate > 对于一些常见的无损通用数据压缩算法。
如果您想做更具体的事情,关于 JPEG 的文章也非常好。
I find that Wikipedia is a pretty good source in this respect. See, for example, Huffman coding, LZW and Deflate for some common lossless general-purpose data compression algorithms.
If you want to do something more specific, the article on JPEG is also really good.
这个竞赛很好地了解了文本压缩的当前技术水平,以及如果你想出了一些好东西!
我发现这是无损图像压缩的有用的调查 。
如果您只阅读了一篇关于该主题的学术论文,请将其设为 CE Shannon 的 “通信的数学理论”。 这些想法对于压缩来说绝对是基础。
This competition gives a good idea of the current state of the art for text compression, and something to aim for if you come up with something good!
I've found this a useful survey of lossless image compression.
If you read only one academic paper on the subject, make it C.E. Shannon's "A Mathematical Theory of Communication". The ideas there are absolutely fundamental to compression.
这完全不是一个答案,但是......压缩和减压,对我来说,从来没有真正引起过高度兴趣。 System.IO.Compression 中有压缩类,这些东西会帮我处理它。 我还需要知道什么? 如果内置类不够用,还有第三方类库。
(实际上,.NET 中的 DeflateStream 和 GZipStream 类对先前压缩的数据表现出异常行为:它们实际上可以增加要求压缩的数据的大小。哎呀!这已被报告为一个问题,但镜头偏转了Borg 的盾牌:
向 Microsoft 致敬 。错误报告;Bados 指责微软只是关闭了他们不想修复的错误。
This is completely not an answer, but....Compression and Decompression, for me, have never really been of high interest. There are compression classes in System.IO.Compression, and those things take care of it for me. What more do I need to know? If the built-in classes are not sufficient, there are third-party class libs.
(Actually, the DeflateStream and GZipStream classes in .NET exhibit anomalous behavior with previously-compressed data : they can actually increase the size of the data they are asked to compress. Whoops! It's been reported as a problem but the shot was deflected off of the Borg's shield: Connect.
Kudos to Microsoft for soliciting public bug reports; Bados on Microsoft for simply Closing bugs they didn't feel like fixing. )