Gzip是Linux下的压缩软件,.gz后缀的文件就是经gzip压缩后的文件。Gzip的源码当然由压缩和解压缩两部分构成,但本文只打算介绍其压缩部分,这部分的代码风格良好,且注释充分,并能很好的体现所用到的算法,而解压的代码完全是没有注释的一坨,其解压思路我们大致可以根据压缩过程反向推理出来,所以就不管它了。
目录
一、算法介绍
二、实现介绍
……
一、Gzip中涉及的压缩算法简介:
1、游程编码(run length encoding)
这是一种非常直观的编码。一个例
本文主要探讨GZIP压缩部分的源代码,涉及游程编码、LZ77编码和哈弗曼编码。游程编码适合字符连续出现的情况,LZ77编码利用文本中的重复模式,哈弗曼编码根据字符频率优化编码。GZIP将这些算法结合以实现高效压缩。
Gzip是Linux下的压缩软件,.gz后缀的文件就是经gzip压缩后的文件。Gzip的源码当然由压缩和解压缩两部分构成,但本文只打算介绍其压缩部分,这部分的代码风格良好,且注释充分,并能很好的体现所用到的算法,而解压的代码完全是没有注释的一坨,其解压思路我们大致可以根据压缩过程反向推理出来,所以就不管它了。
一、算法介绍
二、实现介绍
……
这是一种非常直观的编码。一个例

被折叠的 条评论
为什么被折叠?