BZIP2-Archiv (.bz2)

Bzip2 Standard

Bzip2 (BZ2) ist ein klassisches, patentfreies Unix-Komprimierungsdienstprogramm und Dateiformat, das von Julian Seward erstellt wurde und die Burrows-Wheeler-Transformation verwendet, um eine deutlich höhere Komprimierung als klassisches Gzip zu erreichen.

Untersuchen & Metadaten

Betriebssysteme und Dateianalysatoren identifizieren BZ2-Dateien durch Untersuchung der führenden binären Byte-Sequenz:

Dateien auswählen oder hierher ziehen

100 % private Konvertierung im Browser - Dateien verlassen niemals Ihr Gerät

oder einfügen Strg+V
Datenschutzgarantie ohne Netzwerkübertragung: 0 Bytes an externe Server hochgeladen. Die gesamte Verarbeitung erfolgt lokal in Ihrer Browser-Sandbox.

Byte-basierte Headersignatur (Magic Bytes)

Betriebssysteme und Dateianalysatoren identifizieren BZ2-Dateien durch Untersuchung der führenden binären Byte-Sequenz:

HEX-SIGNATUR (OFFSET 0):

42 5A 68

ASCII-DARSTELLUNG: BZh

Standardisierung: Bzip2 Open Source Standard

Technische Daten

Container-ArchitekturStream-Header („BZh" + Blockgrößenziffer 1-9), gefolgt von komprimierten Datenblöcken und 32-Bit-CRC
KompressionBurrows-Wheeler-Transformation (BWT), Move-to-Front-Transformation (MTF) und Huffman-Codierung
Byte-EndiannessBig-Endian-Bitstream-Framing
FarbräumeNicht zutreffend (Byte-Kompressionsstrom)
Kanäle & StrukturEinzeldatei-komprimierter Bytestream
Max. AbmessungenUnbegrenzte Stream-Länge (unterstützt beliebige Dateigrößen)
Transparenz100% bitgenaue, verlustfreie Datenaufbewahrung
Streaming & ProgressivSequenzielles Block-für-Block-Streaming mit unabhängigen CRC-Prüfsummen pro Block

Technischer Vergleich: BZ2 im Vergleich zu Wettbewerbern

Technisches AttributBZ2 (Aktuell)GZXZZSTD
KernalgorithmusBurrows-Wheeler-Transformation (BWT)Entleeren (LZ77 + Huffman)LZMA / LZMA2Endzustandsentropie + LZ77
Komprimierung vs. Gzip10% - 20% kleiner als GzipBasisstandard20% - 30% kleiner als Gzip10% - 20% kleiner als Gzip
DekomprimierungsgeschwindigkeitLangsam (~30-50 MB/s)Schnell (~300 MB/s)Moderat (~100 MB/s)Blitzschnell (>1,5 GB/s)
Block-Prüfsummen32-Bit-CRC pro BlockEinzelstrom-CRC32Stream-CRC64Stream-xxHash64

Häufige Korruptionsarten & Hex-Wiederherstellungsleitfaden

Extraktion bricht mit „bzip2: Data integrity error when decompressing" ab.

Ursache: Gekipptes Bit im komprimierten Block, wodurch die inverse BWT-Permutationsmatrix bei der CRC32-Validierung fehlschlägt.

Wiederherstellung: Verwenden Sie das Dienstprogramm „bzip2recover", um unbeschädigte Blöcke um den beschädigten Sektor herum zu retten.

Sicherheitsanalyse & Parser-Angriffsvektore

Bzip2-Implementierungen beinhalten komplexe Bitstream-Sortierungen und Huffman-Tabellenanalysen, bei denen es in der Vergangenheit zu Ganzzahlüberlauffehlern kam.

Bekannte Angriffsvektore

  • Ganzzahlüberlauf bei der BWT-Sortierarray-Zuweisung (z. B. CVE-2016-3189).
  • Schreiben außerhalb der Grenzen während des Aufbaus der Huffman-Dekodierungstabelle.
  • Diensteverweigerung (Denial of Service) durch pathologische Eingabemuster, die quadratische BWT-Sortierzeiten im Worst-Case verursachen.

Bewährte Sicherheitsverfahren: Dekodieren Sie BZ2-Dateien mit speichersicheren WASM-Dekodern mit erzwungenen Speicherbegrenzungen.

Historische Ursprünge & Meilensteine

2019Federico Mena Quintero modernisiert die Pflege der Bzip2-Codebasis im Rahmen von bzip3 und modernen Open-Source-Initiativen.
2000Version 1.0 veröffentlicht, wodurch das bzip2-Format über Linux-Distributionen und Paketverwalter hinweg stabilisiert wird.
1996Julian Seward veröffentlicht bzip2 0.15 als Ersatz für das frühere Bzip-Format, das Patentbedenken aufwies.

Hauptvorteile & Stärken

  • Übertrifft klassisches Gzip bei Quellcode-Tarballs, Systemprotokollen und Textdatenbanken durchgehend um 10% bis 20%.
  • Die unabhängige Blockarchitektur (100k bis 900k) enthält 32-Bit-CRC-Prüfsummen pro Block für robuste Integritätsprüfungen.
  • Universelle, native Verfügbarkeit über alle Linux-, BSD- und macOS-Kommandozeilen-Distributionen hinweg.

Technische Einschränkungen & Nachteile

  • Deutlich langsamere Komprimierungs- und Dekomprimierungsgeschwindigkeiten im Vergleich zu modernen Algorithmen wie Zstandard.
  • Nur Einzeldateikomprimierung: erfordert die Kopplung mit TAR (.tar.bz2), um mehrere Dateien oder Verzeichnisse zu packen.
  • Höhere CPU-Auslastung bei der Dekomprimierung als Gzip oder Zstd.

Interessante technische Wissenswertes

  • Die „BZh"-Magic-Bytes stehen für „Burrows-Wheeler Zip Huffman", gefolgt von einer Ziffer („1" bis „9"), die die Blockgröße in Hundert Kilobyte angibt (z. B. „BZh9" = 900 KB).
  • Der Quellcode des Linux-Kernels wurde über ein Jahrzehnt lang ausschließlich im .tar.bz2-Format vertrieben, bevor er zu .xz migrierte.
  • Die Burrows-Wheeler-Transformation komprimiert Daten nicht direkt; sie permutiert die Reihenfolge der Zeichen, sodass identische Buchstaben zusammenklumpen, wodurch sie durch Huffman-Codierung trivial komprimierbar werden.

Häufig gestellte technische Fragen

Was ist der Unterschied zwischen .gz und .bz2?

.bz2 verwendet die Burrows-Wheeler-Transformation, um kleinere Dateigrößen als .gz zu erreichen, benötigt jedoch mehr Zeit für die Komprimierung und Dekomprimierung.

Warum hat bzip2 einen Befehl „bzip2recover"?

Da bzip2 Daten in unabhängigen 900-KB-Blöcken komprimiert, von denen jeder über einen eigenen CRC verfügt, kann bzip2recover unbeschädigte Blöcke extrahieren, selbst wenn ein Teil der Datei beschädigt ist.

Wie kann ich eine .tar.bz2-Datei extrahieren?

Sie können .tar.bz2-Dateien ohne Befehlszeilentools direkt in Ihrem Webbrowser mit File2File.app entpacken.