Алгоритм сжатия Deflate, реализованный на языке высокого уровня? - PullRequest
4 голосов
/ 08 апреля 2011

Существует множество реализаций алгоритма Deflate декомпрессия на разных языках. Сам алгоритм декомпрессии описан в RFC1951. Однако алгоритм сжатия кажется более неуловимым, и я только когда-либо видел его реализованным в длинных файлах C / C ++.

Я бы хотел найти реализацию алгоритма сжатия на языке более высокого уровня, например Python / Ruby / Lua / etc., Для учебных целей. Может кто-нибудь указать мне на один?

1 Ответ

1 голос
/ 08 апреля 2011

Pyflate - это чистая Python-реализация gzip (которая использует DEFLATE).http://www.paul.sladen.org/projects/pyflate/

Редактировать: Вот реализация Python сжатия LZ77, который является первым шагом в DEFLATE.

https://github.com/olle/lz77-kit/blob/master/src/main/python/lz77.py

Следующий шаг, кодирование Хаффманасимволы, это простой жадный алгоритм, который не должен быть слишком сложным для реализации.

...