.BZ2-Dateierweiterung

Dateien mit der Erweiterung .BZ2 werden mit dem BZIP2-Algorithmus komprimiert. Dieses von Julian Seward entwickelte kostenlose Open-Source-Tool erreicht beeindruckende Komprimierungsraten und eignet sich daher ideal zum Verkleinern großer Dateien oder Datensätze. Im Gegensatz zu Archivformaten wie ZIP komprimiert BZIP2 nur einzelne Dateien. Glücklicherweise ist das Erstellen und Extrahieren von BZ2-Dateien mit den meisten Dateiarchivierern, die das Format unterstützen, einfach. Die Effizienz von BZIP2 sowohl bei der Komprimierung als auch bei der Dekomprimierung hat es zu einer beliebten Wahl für die Softwareverteilung, Datensicherung und Internetübertragungen gemacht.

Über das BZIP2-Archiv

Ähnlich wie GZIP dient BZ2 als Datenkomprimierer, ihm fehlt jedoch die Vielseitigkeit eines Archivierers wie TAR oder ZIP. Im Gegensatz zu diesen Formaten unterstützt BZIP2 weder die Komprimierung mehrerer Dateien in ein einziges Archiv noch bietet es Funktionen zur Verschlüsselung oder Archivaufteilung. In der UNIX-Tradition wird die Archivierung typischerweise separat gehandhabt, wobei BZIP2 ausschließlich zur Komprimierung verwendet wird. Allerdings ist die Dekomprimierung mit BZIP2 besonders effizient, insbesondere im Vergleich zu seiner langsameren Komprimierungsgeschwindigkeit. Um dieses Ungleichgewicht zu beheben, wurde 2003 eine modifizierte Version namens PBZIP2 auf den Markt gebracht, die Multithreading nutzt, um die Komprimierungszeiten auf modernen Multi-CPU- und Multi-Core-Systemen drastisch zu verbessern.

.BZ2-Archivdateiformat-Verlaufsinformationen

Das mit der BZIP2-Komprimierung verbundene .BZ2-Dateiformat geht auf die Entwicklungsbemühungen von Julian Seward in den späten 1990er Jahren innerhalb der UNIX-Community zurück. Im Laufe der Jahre hat der Algorithmus mehrere Änderungen in der Wartung durchlaufen, wobei Micah Snyder im Juni 2021 die Leitung als Betreuer übernommen hat. Parallel zu dieser Entwicklung sind Modifikationen wie PBZIP2 entstanden, die Multithreading-Funktionen nutzen, um die Komprimierungsgeschwindigkeit auf modernen Multi-CPUs zu verbessern und Multicore-Systeme. Trotz dieser Fortschritte basieren die Kernprinzipien des .BZ2-Formats weiterhin auf der effizienten Nutzung der Burrows-Wheeler-Transformation, der Move-to-Front-Transformation und der Huffman-Codierungstechniken.

Struktur des BZIP2-Archivs

BZIP2 verwendet blockbasierte Komprimierung und komprimiert Daten typischerweise in Blöcken mit einer Größe von 100 bis 900 kB. Es nutzt die Burrows-Wheeler-Transformation, um sich wiederholende Zeichenfolgen in Zeichenfolgen aus identischen Buchstaben umzuwandeln, gefolgt von der Move-to-Front-Transformation und der Huffman-Codierung. Bemerkenswert ist, dass sein Vorgänger bzip zur Komprimierung arithmetische Codierung anstelle von Huffman verwendete.

BZIP2-Komprimierungsmethoden

Leider mangelt es BZIP2 an den vielfältigen Komprimierungstechniken einiger seiner Gegenstücke. Stattdessen basiert es auf einem einzigartigen, sorgfältig ausgearbeiteten Ansatz zur Datenkomprimierung. Diese Technik zeichnet sich aus durch:

  • Blocksortierung: BZIP2 unterteilt die Daten zur individuellen Komprimierung in kleinere Blöcke.
  • Burrows-Wheeler-Transformation: Dieser Schritt ordnet die Daten in jedem Block neu an, um die Komprimierungseffizienz durch die Identifizierung sich wiederholender Muster zu verbessern.
  • Rückwärtsbewegung: Der Algorithmus durchläuft dann die transformierten Daten rückwärts und wendet Huffman-Codierung zur weiteren Komprimierung an.
  • Lauflängenkodierung: Diese Technik identifiziert und kodiert sich wiederholende Zeichen innerhalb der Datenblöcke, um zusätzlichen Platz zu sparen.

Vom BZIP2-Archiv unterstützte Vorgänge

Aspose.ZIP ermöglicht eine Reihe von Vorgängen an .BZ2-Dateiarchiven, einschließlich Extrahieren, Komprimieren, Dateipacken, Zusammenführen und Archivkonvertierung. Benutzer können problemlos Daten aus .BZ2-Archiven extrahieren, Dateien komprimieren, Archive zusammenführen und problemlos zwischen verschiedenen Archivformaten konvertieren. Darüber hinaus unterstützt Aspose.ZIP die Aufteilung großer .BZ2-Archive in mehrere Volumes für eine verbesserte Verwaltbarkeit und Speichereffizienz.

BZIP2 – Interne Struktur

Obwohl es keine offizielle Spezifikation für bzip2 gibt, wurde durch Reverse Engineering der Referenzimplementierung eine informelle Spezifikation abgeleitet. Im Wesentlichen beginnt ein .bz2-Stream mit einem prägnanten 4-Byte-Header, gefolgt von einer beliebigen Anzahl komprimierter Blöcke, nahtlos abgeschlossen durch eine Stream-Ende-Markierung mit einer 32-Bit-CRC-Prüfsumme für den gesamten verarbeiteten Klartext-Stream. Insbesondere werden die komprimierten Blöcke auf Bitebene ausgerichtet, ohne dass eine zusätzliche Auffüllung erforderlich ist. Diese schlanke Struktur unterstreicht die Effizienz und Einfachheit des bzip2-Komprimierungsformats.
Nach der RLE-Komprimierung in der Anfangsphase (siehe oben) beträgt die maximale Länge des unkomprimierten Textes, der in einen einzelnen 900-KB-Block in bzip2 passt ca. 46 MB (45.899.236 Byte). Dieses Szenario tritt auf, wenn der gesamte unkomprimierte Text ausschließlich aus wiederholten Werten besteht (was zu einer .bz2-Datei mit nur 46 Byte führt). Selbst kleinere Dateien mit nur 40 Byte sind durch die Verwendung von Eingabedaten möglich, die ausschließlich aus dem Wert 251 bestehen, was zu einem erstaunlichen Komprimierungsverhältnis von 1.147.480,9:1 führt. Diese bemerkenswerte Leistung zeigt die unglaubliche Effizienz und Vielseitigkeit des bzip2-Komprimierungsalgorithmus.

BZIP2 – Interne Struktur

Beliebtheit von BZIP2-Archiv und Support

.BZ2-Archive sind zwar nicht so weit verbreitet wie .ZIP- oder .7z -Formate, finden aber dennoch in bestimmten Anwendungen Verwendung, insbesondere in Unix- und Linux-Umgebungen. Sie bieten starke Komprimierungsfunktionen und werden von verschiedenen Betriebssystemen und Softwaretools gut unterstützt. Trotz ihres Nischenstatus bleiben BZIP2-Archive eine zuverlässige Wahl für die Verpackung von Softwareverteilungen und Datensicherungen. Die Unterstützung für .BZ2-Dateien ist weit verbreitet, und viele Archivierungstools und Skriptsprachen bieten integrierte Funktionen zum Erstellen und Extrahieren dieser Dateien. Da jedoch neuere Komprimierungsalgorithmen auftauchen, könnte die Beliebtheit und Verwendung von BZIP2-Archiven weiter zunehmen.

Beispiele für die Verwendung von BZIP2

Aspose.ZIP bringt die Bzip2-Komprimierung auf die nächste Stufe. Durch die Nutzung der parallelen Rechenleistung Ihrer CPU kann Aspose.ZIP die Komprimierungsarbeitslast auf mehrere Kerne verteilen. Dies führt insbesondere bei großen Datensätzen zu deutlich schnelleren Komprimierungszeiten. Die Aktivierung der parallelen Komprimierung mit Aspose.ZIP ist so einfach wie das Festlegen der Eigenschaft „CompressionThreads“ auf einen Wert größer als 1

Parallel Compression for BZ2 Files

This simple configuration unlocks the full potential of your multi-core processor, dramatically accelerating your Bzip2 compression tasks.

using (Bzip2Archive archive = new Bzip2Archive())
{
    archive.SetSource("data.bin");
    archive.Save("result.bz2", new Bzip2SaveOptions() { CompressionThreads =  Environment.ProcessorCount });
}

Bzip2SaveOptions.CompressionThreads property

This setting controls the number of compression threads. When set to a value greater than 1, multithreading compression is activated. Read more .

    public int CompressionThreads { get; set; }

Aspose.Zip offers individual archive processing APIs for popular development environments, listed below:

Aspose.Zip for .NETAspose.Zip via JavaAspose.Zip via Python.NET

Zusätzliche Informationen zu BZIP2-Archiven

Die Leute haben gefragt

1. Ist BZIP2 sicher? Kann es Dateien verschlüsseln?

Damit wird ein häufiges Anliegen hinsichtlich der Datensicherheit angesprochen. Es ist wichtig klarzustellen, dass BZIP2 selbst keine Verschlüsselung bietet. Benutzer benötigen möglicherweise ein separates Tool, um ihre Dateien zu verschlüsseln, bevor sie mit BZIP2 komprimiert werden. Beispielsweise können starke Passwörter für zuvor erstellte Archive mithilfe separater Verschlüsselungstools generiert werden.

2. Was sind die Vorteile und Einschränkungen der Verwendung der BZIP2-Komprimierung?

Der Hauptvorteil von BZIP2 ist seine Fähigkeit, hohe Komprimierungsraten zu erreichen, im Vergleich zu anderen Algorithmen erfordert es jedoch möglicherweise mehr Rechenressourcen und mehr Zeit. Darüber hinaus unterstützen BZIP2-Archive nicht das Speichern mehrerer Dateien in einer einzelnen komprimierten Datei .

3. Was ist der Unterschied zwischen BZIP2 und Archivformaten wie ZIP oder TAR?

Dies ist von entscheidender Bedeutung, da BZIP2 nur einzelne Dateien komprimiert, im Gegensatz zu ZIP und TAR, die mehrere Dateien in einem einzigen Paket archivieren können. Um diese Einschränkung zu beheben, können Sie Aspose.ZIP-APIs verwenden, um Dateien ohne Komprimierung zu ZIP-Archiven hinzuzufügen .