DEFLATE jest najczęściej używanym algorytmem używanym do kompresji danych do/z formatu ZIP. Wykorzystuje on dwie techniki – LZ77 oraz Huffman Coding. Metoda ta nie powoduje utraty żadnych danych.
LZ77
Technika ta polega na zastąpieniu powtarzających się sekwencji krótszymi referencjami. Przykładowo dla tekstu:
witaj, witaj, witaj, do widzenia, do widzenia
mogło by to wyglądać następująco:
witaj, [7,6], [7,6], do widzenia, [36,12]
pierwsza liczba określa tak zwany offset – ile należy się przesunąć od samego początku tekstu w prawo. Druga określa ile elementów w lewo (startując od przesunięcia) bierzemy pod uwagę.
Huffman Coding
Polega na zapisie w prostszy sposób często powtarzających się sekwencji. Przykładowo dla:
Zażółć gęślą jaźń
częściej występujące znaki będą zakodowane za pomocą prostszych kodów a rzadziej występujące za pomocą dłuższych. Przykładowo:
'ż': 01
'g': 001
'ę': 000
'ś': 110
'a': 10
