Kodierung

Gzip/Deflate ↔ Base64

Komprimierung von Text als Gzip oder Deflate mit anschließender Base64-Kodierung des Ergebnisses — und umgekehrt. Funktioniert über die Compression Streams API direkt im Browser.

Base64 by itself doesn't compress anything — quite the opposite, it grows the size by about 33%. To send large text compactly through a text-only channel, it's first compressed with Gzip or Deflate, and only then is the result Base64-encoded.

How to use it

Common uses

Things to keep in mind

Compression only pays off on sufficiently large, compressible text — on short strings the Gzip header overhead plus the Base64 expansion can actually make the result bigger.

Deflate skips Gzip's headers, so its output is more compact, but the format is less self-describing: the receiving side needs to know in advance that it's Deflate specifically.

Artikel zu diesem Tool: Gzip + Base64: Daten komprimieren für die Übertragung als Text

Häufig gestellte Fragen

Was ist der Unterschied zwischen Gzip und Deflate?

Deflate ist der rohe Kompressionsalgorithmus, während Gzip denselben Algorithmus in einen zusätzlichen Header mit Metadaten und eine CRC-Prüfsumme am Ende einpackt. Daten, die mit dem einen Format komprimiert wurden, lassen sich nicht mit dem anderen Modus dekomprimieren.

Warum kommt hinter der Kompression noch Base64 ins Spiel?

Gzip und Deflate erzeugen binäre Daten, die sich nicht sicher in Text-Kontexten wie JSON oder URLs einbetten lassen. Base64 wandelt das Ergebnis in eine reine Textzeichenkette um, die überall kopiert werden kann.

Werden meine Daten irgendwohin gesendet, um sie zu komprimieren?

Nein, das Tool nutzt die Compression Streams API des Browsers, sodass Komprimierung, Dekomprimierung und Base64-Kodierung vollständig lokal ablaufen.

Warum liefert das Entpacken manchmal den Fehler "invalid header"?

Die häufigste Ursache ist ein verwechseltes Format: Die Daten wurden als "rohes" Deflate ohne Header komprimiert, werden aber als Gzip entpackt (das einen eigenen Header und CRC-32 erwartet), oder umgekehrt. Versuche, das Format in den Tool-Einstellungen umzuschalten.

Verringert Kompression immer die endgültige Größe?

Nein. Bei sehr kurzen Strings können der Overhead der Gzip-Header und der Größenzuwachs durch Base64 den Gewinn durch die Kompression übersteigen – der Ansatz lohnt sich nur bei ausreichend großen und gut komprimierbaren Textdaten.

Artikel: Kodierung

Base64: wozu Kodierung dient und wie sie funktioniert

Wie Base64 binäre Daten in ASCII-Text verwandelt und wann das wirklich gebraucht wird.

Base32: der Unterschied zu Base64 und wann es praktischer ist

Das case-insensitive Alphabet von Base32 und Fälle, in denen es praktischer ist als Base64.

URL Encode/Decode: Percent-Encoding in Links

Wie Sonderzeichen in Adressen und Query-Parametern zu %XX-Sequenzen werden.

HTML Entities: Sonderzeichen sicher auf einer Seite ausgeben

Warum die Zeichen < > & escapt werden müssen und wie das kaputtes Markup verhindert.

JWT: Aufbau eines Tokens und was „Dekodieren" eines JWT bedeutet

Header, Payload und Signature eines JWT — und warum Dekodieren nicht dasselbe ist wie Signaturprüfung.

Unicode Escape: was \uXXXX-Sequenzen bedeuten

Woher Sequenzen wie \u0041 in JSON und JS-Strings kommen und was sie bedeuten.

ROT13 und die Caesar-Verschlüsselung: einfache Zeichensubstitution

Warum eine Verschiebung um 13 Buchstaben ROT13 selbstinvers macht und wozu man es heute noch nutzt.

Punycode: wie internationalisierte Domains im DNS funktionieren

Wie eine Domain mit nicht-lateinischen Zeichen zu einer ASCII-Form mit dem Präfix xn-- wird.

Morsecode: wie Text zu Punkten und Strichen wird

Das Prinzip der Kodierung von Buchstaben als Punkte und Striche, und wo Morsecode heute noch genutzt wird.

Data URI: wann Bilder direkt in den Code einbetten

Wie ein Data-URI den Inhalt einer Datei direkt in HTML oder CSS einbettet, und wann sich das lohnt.

XML Entities: Zeichen in XML-Dokumenten escapen

Die fünf Pflicht-Entities von XML, ohne die das Dokument beim Parsen bricht.