用C++实现数据无损压缩、解压(使用LZW算法).docVIP

  • 2
  • 0
  • 约9千字
  • 约 11页
  • 2017-02-12 发布于江苏
  • 举报

用C++实现数据无损压缩、解压(使用LZW算法).doc

用C++实现数据无损压缩、解压(使用LZW算法) LZW压缩算法由Lemple-Ziv-Welch三人共同创造,用他们的名字命名。LZW就是通过建立一个字符串表,用较短的代码来表示较长的字符串来实现压缩。LZW压缩算法是Unisys的专利,有效期到2003年,所以对它的使用是有限制的。字符串和编码的对应关系是在压缩过程中动态生成的,并且隐含在压缩数据中,解压的时候根据表来进行恢复,算是一种无损压缩。个人认为LZW很适用于嵌入式系统上。因为:1、压缩和解压速度比较快,尤其是解压速度;2、占用资源少;3、压缩比也比较理想;4、适用于文本和图像等出现连续重复字节串的数据流。LZW算法有一点比较特别,就是压缩过程中产生的字符串对应表,不需要保存到压缩数据中,因为这个表在解压过程中能自动生成回来。LZW算法比较简单,我是按照这本书上写的算法来编程的: 10227717016.jpg (124.6 KB) 2009-1-5 11:57 10227717017.jpg (123.14 KB) 2009-1-5 11:57 以下是源代码: 复制内容到剪贴板 代码: class LZWCoder { private: ? ?? ???struct TStr ? ?? ???{ ? ?? ?? ?? ?? ? char *string; ? ?? ?? ?? ?? ? unsig

文档评论(0)

1亿VIP精品文档

相关文档