Отличие алгоритмов DEFLATE и LZ77 при сжатии ZIP-файлов заключается в их принципах работы:
- DEFLATE использует сочетание сжатия LZ77 и кодирования Хаффмана. 25 Он находит дублированные строки во входных данных и при втором появлении строки заменяет её указателем на предыдущую строку в виде пары (расстояние, длина). 4
- LZ77 находит повторяющиеся подстроки и заменяет их обратными ссылками (относительными смещениями расстояния). 4 Он может использовать ссылку на дублированную строку, встречающуюся в том же или предыдущих блоках, на расстояние до 32К входных байт назад. 4
Таким образом, основное отличие в том, что DEFLATE допускает обратные ссылки в рамках предыдущих 32 768 символов, а LZ77 всегда следует за совпадением с литералом, тогда как DEFLATE может следовать за совпадением с другим совпадением или литералом. 3