Was ist Base64 und wie funktioniert es?
Jedes Mal, wenn ein Bild in eine E-Mail eingebettet oder ein Token in eine URL eingefügt wird, ist meist Base64 im Spiel. Es ist eine der häufigsten Textkodierungen der Informatik und doch eine der am wenigsten verstandenen. Hier ist genau erklärt, wie es funktioniert.
Base64 ist eine Kodierung, keine Verschlüsselung
Base64 nimmt Binärdaten — eine beliebige Bytefolge — und stellt sie mit einem kurzen Alphabet aus 64 druckbaren ASCII-Zeichen dar: A–Z, a–z, 0–9 sowie + und /. Deshalb heißt es Base64: Jedes Ausgabezeichen steht für 6 Bit, also werden aus 3 Eingabebytes 4 Ausgabezeichen.
Warum die Ausgabe etwa 33% länger ist
3 Bytes als 4 Zeichen zu je 6 Bit zu kodieren kostet ein zusätzliches Zeichen pro drei Bytes, ein Verhältnis von 4:3. Eine 100-KB-Datei erzeugt daher ungefähr 133 KB Base64-String — der Aufschlag ist der Preis dafür, dass beliebige Bytes sicher durch textbasierte Systeme reisen können.
Wozu das Padding dient
Ist die Eingabelänge kein Vielfaches von drei, wird die letzte Gruppe kürzer, und der Kodierer hängt = -Zeichen an, um sie zu vervollständigen. Jeder Leser entfernt sie vor dem Dekodieren — deshalb enden die meisten Base64-Strings mit null, einem oder zwei Gleichheitszeichen.
Wo Base64 auftaucht
E-Mail-Anhänge (MIME), JSON-Payloads und JWTs, Data-URLs in HTML und CSS sowie Konfigurationswerte, die rein textuellen Transport überstehen müssen. Immer wenn Bytes einen Kanal durchqueren müssen, der nur druckbaren Text versteht, ist Base64 die Brücke.
Häufige Fehler, die Sie vermeiden sollten
Nutzen Sie Base64 nie, um Daten geheim zu halten: Es ist eine offene Kodierung, die jeder mit einem Dekodierer umkehren kann. Denken Sie auch daran, dass Unicode zuerst als UTF-8-Bytes kodiert wird, der genaue String also von dieser Wahl abhängt. Der Encoder und Decoder im Browser handhaben beides korrekt.