有很多不同语言的Deflate解压缩算法实现。解压算法本身在RFC1951中描述。但是压缩算法似乎更加难以捉摸,我只见过它在冗长的C/C++文件中实现。
我想找到用高级语言(例如Python / Ruby / Lua等)实现压缩算法的代码,以供学习研究之用。有人能指点一下吗?
有很多不同语言的Deflate解压缩算法实现。解压算法本身在RFC1951中描述。但是压缩算法似乎更加难以捉摸,我只见过它在冗长的C/C++文件中实现。
我想找到用高级语言(例如Python / Ruby / Lua等)实现压缩算法的代码,以供学习研究之用。有人能指点一下吗?
Pyflate是gzip的纯Python实现(使用DEFLATE)。 http://www.paul.sladen.org/projects/pyflate/
编辑:这里有一个LZ77压缩的Python实现,这是DEFLATE的第一步。
https://github.com/olle/lz77-kit/blob/master/src/main/python/lz77.py
下一步,对符号进行哈夫曼编码,这是一种简单的贪心算法,实现起来不应该太难。