Zum Inhalt springen
uencoder

Base64

Base64 bildet beliebige Binärdaten auf 64 druckbare ASCII-Zeichen ab (A-Z, a-z, 0-9, +, /), damit Binärdaten über reine Textkanäle übertragen werden können.

Zweck

Sie löste das Problem früher Mailsysteme, die nur 7-Bit-ASCII-Text transportieren konnten und keine binären Anhänge direkt senden konnten, und verhinderte zugleich, dass Gateways Steuerzeichen verfälschen.

Mechanismus

Der Eingangs-Bytestrom wird in 3-Byte-Gruppen (24 Bits) verarbeitet, die in vier 6-Bit-Einheiten zerlegt werden, die jeweils auf ein Zeichen des Base64-Alphabets abgebildet werden. Eine letzte kurze Gruppe wird mit = auf 4 Zeichen aufgefüllt. Die kodierte Länge beträgt etwa 4/3 der Eingabe, und die Ausgabelänge ist stets ein Vielfaches von 4.

Anwendungsfälle

  • Einbettung von Binärdaten in JSON, XML und URLs (z. B. kleine Bilder in Data-URLs)
  • MIME-Anhangsübertragung in E-Mails
  • Kodierung von Benutzer:Passwort in der HTTP-Basic-Authentifizierung
  • Kodierung der Header- und Payload-Segmente eines JWT

Beispiele

  • Eingabe
    Hello
    Output
    SGVsbG8=

    5 bytes to 8 characters with one trailing = pad

Häufige Fehler

Using standard Base64 directly in URLs, where + and / get percent-encoded and decoding fails
Use Base64URL instead (- and _ replace + and /, and = padding is dropped)

Verwandte Begriffe

Verwandte Tools

Verwandte Tutorials

References