DEFLATE – algorytm kompresji danych używany w ZIPach

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

Pozostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *