Różnica między GZIP i BZIP2

GZIP vs BZIP2

GNU zip (znany również jako GZIP) to aplikacja służąca do kompresji plików. Pierwotnie miał on zastąpić program kompresujący używany we wczesnych systemach uniksowych - do użycia w Projekcie GNU (projekt wolnego oprogramowania).

BZIP2 to bezstratny algorytm kompresji danych typu open source - w zasadzie klasa algorytmów kompresji danych, która umożliwia całkowitą rekonstrukcję oryginalnych danych skompresowanego pliku na podstawie skompresowanych danych.

GZIP opiera się na algorytmie znanym jako DEFLATE. Jest to również bezstratny algorytm kompresji danych. Wykorzystuje zarówno algorytm LZ77, jak i kodowanie Huffmana. Zasadniczo GZIP odnosi się do formatu pliku o tej samej nazwie. Ten format jest 10-bajtowym nagłówkiem, który zawiera magiczną liczbę (co oznacza wartość liczbową lub tekstową, która nigdy się nie zmienia i jest używana do oznaczenia formatu pliku lub protokołu, nienazwanej wartości liczbowej, która nigdy się nie zmienia, lub odrębnych wartości, których nie można pomylić dla czegokolwiek innego), dodatkowe nagłówki, które mogą być lub nie muszą być konieczne (na przykład oryginalna nazwa pliku), treść zawierająca ładunek skompresowany DEFLATE (czyli dane, które niosą nagłówki) oraz 8-bajtowa stopka który zawiera sumę kontrolną CRC-32, a także rzeczywistą długość oryginalnych nieskompresowanych danych.

Istnieje wiele technik kompresji używanych w formacie BZIP2, które są układane jeden na drugim w kilku warstwach. Występują w bardzo charakterystycznej kolejności: kodowanie długości przebiegu (która jest dowolną sekwencją od czterech do 255 zduplikowanych symboli, która jest zastępowana pierwszymi czterema symbolami, i długość kodowania, która powtarza się między 0 a 251), transformacja Burrowsa-Wheelera ( który jest odwracalnym sortowaniem bloków, który tworzy sam rdzeń BZIP2), Przenieś na przód (pozostawia niezmieniony rozmiar przetwarzanego bloku), Kodowanie długości przebiegu (które składa się z długich łańcuchów symboli - zwykle zer - które stale powtarzają się na wyjściu i są zastępowane zarówno przez symbol, jak i sekwencję dwóch kodów), kodowanie Huffmana (czyli proces, który zastępuje symbole o stałej długości 8-bitowych bajtów zmieniającymi się kodami długości), wielokrotne kodowanie Hoffmana (które składają się z wiele tabel Hoffmana o identycznym rozmiarze), kodowanie Unary base 1, kodowanie Delta i rzadka tablica bitów.

Streszczenie:

1. GZIP to darmowa aplikacja służąca do kompresji plików; BZIP2 to bezstratny algorytm kompresji danych typu open source, który umożliwia odzyskanie oryginalnych danych skompresowanego pliku.

2. GZIP składa się z 10-bajtowego nagłówka, opcjonalnych nagłówków, treści i 8-bajtowej stopki; BZIP2 składa się z nie mniej niż dziewięciu warstw technik kompresji.