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
下一步,符号的霍夫曼编码,是一个简单的贪心算法,应该不难实现。