GZIP i BZIP2

Anonim

GZIP vs BZIP2

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

BZIP2 jest bezstratnym algorytmem kompresji danych open source - jest to klasa algorytmów kompresji danych, która pozwala na całkowitą rekonstrukcję oryginalnych danych skompresowanego pliku ze skompresowanych danych.

GZIP oparty jest na algorytmie o nazwie DEFLATE. Jest to również bezstratny algorytm kompresji danych. Wykorzystuje algorytm LZ77 i kodowanie Huffmana. Zasadniczo GZIP odnosi się do formatu pliku o tej samej nazwie. Ten format jest 10-bajtowym nagłówkiem zawierającym 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 różnych wartości, których nie można pomylić do innych elementów), dodatkowe nagłówki, które mogą, ale nie muszą być konieczne (np. oryginalna nazwa pliku), treść zawierająca skompresowany DEFLATE (czyli dane przenoszone przez nagłówki) i 8-bajtową stopkę który zawiera sumę kontrolną CRC-32, a także faktyczną 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 linii (które jest dowolną sekwencją od czterech do 255 zduplikowanych symboli, które są zastępowane przez pierwsze cztery symbole i długość kodowania, która powtarza się między 0 a 251), transformacja Burrows-Wheeler (który jest odwracalnym sortowaniem blokowym, które stanowi samo jądro BZIP2), Przenieś do przodu (pozostawia niezmieniony rozmiar przetworzonego bloku), Kodowanie długości linii (składające się z długich pasm symboli - zwykle zer - które stale powtórzyć na wyjściu i są one zastąpione przez symbol i sekwencję dwóch kodów), kodowanie Huffmana (które jest procesem, który zastępuje symbole o stałej długości 8-bitowych bajtów ze zmieniającymi się kodami długości), Wielokrotne kodowanie Hoffmana (które składa się z wiele tabel Hoffmana o identycznej wielkości), kodowanie Unary Base 1, kodowanie Delta i rzadką tablicę bitów.

Streszczenie:

1. GZIP to bezpłatna aplikacja służąca do kompresowania plików; BZIP2 to bezstratny algorytm kompresji danych open source, który umożliwia pobieranie 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.