Brotli in GZIP umwandeln
Die Konvertierung von Brotli-Dateien in das GZIP-Format verzichtet auf einen kleinen Teil der Kompressionseffizienz zugunsten universeller Softwarekompatibilität.
Formatvergleich & technische Spezifikationen
| Spezifikation | BROTLI | GZIP |
|---|---|---|
| MIME-Typ | application/ | application/ |
| Typ | Datenstromkomprimierung mit Kontextmodellierung | DEFLATE-Streamcontainer |
| Kompression | Brotli LZ77 + Kontextmodellierung 2. Ordnung | DEFLATE (RFC 1951) |
| Standardspezifikation | IETF RFC 7932 | IETF RFC 1952 |
| Magic-Bytes-Header | Brotli byte stream headers (WBITS / sliding dictionary) | 1F 8B (gzip ID1/ID2) |
Formatübersicht & Anwendungsbereiche
Manche ältere Programme und Systeme akzeptieren GZIP, unterstützen aber kein Brotli. Die Umwandlung eines Brotli-Streams in GZIP kann helfen, wenn das empfangende Werkzeug dieses Format benötigt. Beim Dekomprimieren und erneuten Komprimieren ändern sich die komprimierten Bytes, die unkomprimierten Daten sollten jedoch erhalten bleiben. Die Kompatibilität hängt von der Zielanwendung ab.
Technische Spezifikationen und Codec-Übersicht
Brotli-Streams verwenden application/x-brotli und basieren auf einem fortschrittlichen LZ77-Algorithmus in Kombination mit Kontextmodellierung zweiter Ordnung und statischen Präfix-Codes. Im Gegensatz dazu verwenden GZIP-Dateien application/gzip und verpacken Daten, die mit dem DEFLATE-Algorithmus komprimiert wurden, welcher LZ77 mit Huffman-Kodierung gemäß RFC 1951 koppelt. Magic-Byte-Signaturen bestimmen, wie Software diese Streams identifiziert. Eine GZIP-Datei beginnt immer mit der zwei Byte langen Header-Sequenz 0x1F 0x8B. Brotli-Streams verwenden keinen festen globalen Magic-Number-Header auf dieselbe Weise, sondern stützen sich auf einen Bit-Stream-Header variabler Länge, bei dem die ersten Bits die Fenstergröße und Stream-Länge definieren.
Betriebssystem- & Browser-Kompatibilität
GZIP genießt universelle Unterstützung auf jedem modernen Betriebssystem, einschließlich Windows, macOS, Linux, iOS und Android. Integrierte Systemdienstprogramme wie tar, gunzip und 7-Zip verarbeiten GZIP nativ. Brotli wird in modernen Webbrowsern und modernen Linux-Kernen gut unterstützt, aber ältere Befehlszeilentools und ältere Laufzeitumgebungen von Programmiersprachen verfügen oft über keine nativen Dekodierungsbibliotheken für rohe Brotli-Streams, weshalb GZIP die sicherere Wahl für den universellen Dateitransport ist. Die Unterstützung hängt außerdem von App, Gerät, Betriebssystem und Version ab.
Nützliche Informationen
Überprüfen Sie stets, ob Ihr Dekomprimierungsziel RFC 1951 unterstützt, bevor Sie Dateien stapelweise konvertieren, da einige eingebettete Mikrocontroller nur minimale GZIP-Parsing-Routinen enthalten.
Häufig gestellte Fragen
Wie konvertiert man einen Brotli-Stream in einen GZIP-Stream ohne Qualitätsverlust?
Beide Formate verwenden verlustfreie Komprimierungsalgorithmen. Dies bedeutet, dass die Dateiinhalte ohne jeglichen Datenverlust oder Qualitätsverlust genau in die ursprüngliche Byte-Sequenz zurückdekomprimiert werden.
Worin besteht der Unterschied zwischen einem Brotli-Stream und einem GZIP-Stream?
GZIP wird von vielen Desktop- und Serverprogrammen unterstützt, die Verfügbarkeit auf dem Gerät hängt jedoch von dessen Apps ab.