Base64 stellt beliebige Binär- oder Textdaten mit nur 64 druckbaren ASCII-Zeichen (A–Z, a–z, 0–9, +, /) dar. Es wird überall dort eingesetzt, wo Daten sicher durch reine Textkanäle übertragen werden müssen – etwa beim Einbetten von Bildern in CSS/HTML, beim Kodieren von E-Mail-Anhängen, beim Speichern binärer Daten in JSON oder bei der Übergabe von Daten in URLs und API-Tokens – da viele dieser Kanäle rohe Binärbytes nicht zuverlässig verarbeiten können.
Beim Kodieren werden die rohen UTF-8-Bytes deines Textes in 3-Byte-Blöcke gruppiert, und jeder Block wird in 4 Base64-Zeichen umgewandelt (am Ende wird mit „=“ aufgefüllt, falls die Eingabelänge kein Vielfaches von 3 ist). Beim Dekodieren wird dieser Vorgang exakt umgekehrt: Die Base64-Zeichen werden zurück in Bytes umgewandelt und diese Bytes dann als UTF-8-Text interpretiert. Durch diese Erweiterung von 3 auf 4 Byte ist die kodierte Ausgabe immer etwa 33 % länger als das Original.