Differenz zwischen GZIP und BZIP2 Unterschied zwischen

Anonim

GZIP vs BZIP2

GNU zip (auch bekannt als GZIP) ist eine Softwareanwendung mit dem Zweck zu komprimieren Dateien. Es sollte ursprünglich das in den frühen Unix-Systemen verwendete Komprimierungsprogramm ersetzen, das im GNU-Projekt (einem freien Software-Projekt) verwendet werden sollte.

BZIP2 ist ein Open-Source-Algorithmus zur verlustfreien Datenkomprimierung - im Grunde eine Klasse von Datenkomprimierungsalgorithmen, die es ermöglicht, dass die ursprünglichen Daten einer komprimierten Datei vollständig aus den komprimierten Daten rekonstruiert werden können.

GZIP basiert auf einem Algorithmus namens DEFLATE. Dies ist auch ein verlustfreier Datenkomprimierungsalgorithmus. Es verwendet sowohl den LZ77-Algorithmus als auch die Huffman-Codierung. Im Wesentlichen bezieht sich GZIP auf das gleichnamige Dateiformat. Dieses Format ist ein 10-Byte-Header, der eine magische Zahl enthält (dh einen Zahlen- oder Textwert, der sich niemals ändert und ein Dateiformat oder -protokoll bezeichnet, einen unbenannten numerischen Wert, der sich niemals ändert, oder eindeutige Werte, die nicht falsch sein können) für alles andere), zusätzliche Header, die möglicherweise nicht unbedingt erforderlich sind (z. B. der ursprüngliche Dateiname), ein Body, der eine DEFLATE-komprimierte Payload enthält (die Daten, die die Header tragen) und eine Fußzeile von 8 Byte enthält eine CRC-32-Prüfsumme sowie die tatsächliche Länge der ursprünglichen unkomprimierten Daten.

Es gibt eine Vielzahl von Komprimierungstechniken, die das BZIP2-Format verwendet, die in mehreren Ebenen übereinander gestapelt sind. Sie treten in einer sehr unterschiedlichen Reihenfolge auf: Run-Length-Encoding (jede Sequenz von vier bis 255 doppelten Symbolen, die durch die ersten vier Symbole ersetzt werden, und eine Codierungslänge zwischen 0 und 251), Burrows-Wheeler-Transformation (Dies ist die reversible Block-Sortierung, die den Kern der BZIP2 bildet), Vorwärtsbewegung (lässt die Größe des verarbeiteten Blocks unverändert), Lauflängencodierung (die aus langen Strängen von Symbolen besteht - normalerweise Nullen), die konstant sind Wiederholung in der Ausgabe, und werden durch sowohl das Symbol und eine Folge von zwei Codes ersetzt), Huffman-Codierung (das ist ein Prozess, der Symbole mit fester Länge von 8-Bit-Bytes mit sich ändernden Längencodes ersetzt), Multiple Hoffman-Codierung (die bestehen aus mehrere Hoffman-Tabellen mit identischer Größe), Unary-Base-1-Codierung, Delta-Codierung und Sparse-Bit-Array.

Zusammenfassung:

1. GZIP ist eine kostenlose Anwendung zum Komprimieren von Dateien. BZIP2 ist ein Open-Source-Algorithmus zur verlustfreien Datenkomprimierung, mit dem die Originaldaten einer komprimierten Datei abgerufen werden können.

2. GZIP besteht aus einem 10-Byte-Header, optionalen Headern, einem Body und einer 8-Byte-Fußzeile; BZIP2 besteht aus nicht weniger als neun Komprimierungstechniken.