🔐
← Zurück zu Anleitungen

Was ist Base64? Ein vollständiger Leitfaden für Einsteiger

· Tags: base64, encoding, binary-to-text, web-development, data-transfer

Was ist Base64-Kodierung?

Base64 ist ein Binär-zu-Text-Kodierungsverfahren, das Binärdaten mithilfe eines 64-Zeichen-Alphabets in einem ASCII-String-Format darstellt. Es wurde ursprünglich für E-Mail-Anhänge über MIME (Multipurpose Internet Mail Extensions) entwickelt und bleibt eine der am weitesten verbreiteten Kodierungsmethoden im Web.

Wenn Sie Binärdaten — wie ein Bild, eine Datei oder komprimierte Bytes — über einen Kanal senden müssen, der für Text gebaut wurde, ist Base64 die Lösung der Wahl. Es nimmt beliebige Bytes und verwandelt sie in einen sicheren, portablen String aus Buchstaben, Ziffern und ein paar Sonderzeichen.

Wie funktioniert Base64?

Base64 funktioniert, indem es Binärdaten in Gruppen von drei Bytes (24 Bits) verarbeitet und jede Gruppe in vier Base64-Zeichen umwandelt. Der Name "Base64" rührt daher, dass das Kodierungsalphabet 64 verschiedene Zeichen verwendet: A-Z, a-z, 0-9, + und /.

Der Kodierungsalgorithmus Schritt für Schritt

  1. Nehmen Sie 3 Bytes (24 Bits) Eingabedaten
  2. Teilen Sie sie in vier 6-Bit-Gruppen
  3. Ordnen Sie jeden 6-Bit-Wert (0-63) der Base64-Alphabetstabelle zu
  4. Fügen Sie Padding (=) hinzu, wenn die Eingabelänge nicht durch 3 teilbar ist

Hier ist ein konkretes Beispiel. Der String "Man" wird wie folgt kodiert:

  • M (ASCII 77) = 01001101
  • a (ASCII 97) = 01100001
  • n (ASCII 110) = 01101110

Kombiniert: 01001101 01100001 01101110 → aufgeteilt in 6-Bit-Gruppen:

  • 010011 = 19 → T
  • 010110 = 22 → W
  • 000101 = 5 → F
  • 101110 = 46 → u

Also wird "Man" zu "TWFu".

Was ist mit Padding?

Wenn die Eingabelänge kein Vielfaches von 3 Bytes ist, fügt Base64 Padding-Zeichen (=) hinzu, um die Ausgabe zu einem Vielfachen von 4 Zeichen zu machen:

  • 1 Byte Eingabe → 2 Base64-Zeichen + 2 Padding-Zeichen (==)
  • 2 Bytes Eingabe → 3 Base64-Zeichen + 1 Padding-Zeichen (=)

Zum Beispiel kodiert das einzelne Byte, das "M" entspricht, zu TQ==.

Die Base64-Alphabetstabelle

| Wert | Zeichen | Wert | Zeichen | Wert | Zeichen | Wert | Zeichen | |------|---------|------|---------|------|---------|------|---------| | 0 | A | 16 | Q | 32 | g | 48 | w | | 1 | B | 17 | R | 33 | h | 49 | x | | 2 | C | 18 | S | 34 | i | 50 | y | | 3 | D | 19 | T | 35 | j | 51 | z | | 4 | E | 20 | U | 36 | k | 52 | 0 | | 5 | F | 21 | V | 37 | l | 53 | 1 | | 6 | G | 22 | W | 38 | m | 54 | 2 | | 7 | H | 23 | X | 39 | n | 55 | 3 | | 8 | I | 24 | Y | 40 | o | 56 | 4 | | 9 | J | 25 | Z | 41 | p | 57 | 5 | | 10 | K | 26 | a | 42 | q | 58 | 6 | | 11 | L | 27 | b | 43 | r | 59 | 7 | | 12 | M | 28 | c | 44 | s | 60 | 8 | | 13 | N | 29 | d | 45 | t | 61 | 9 | | 14 | O | 30 | e | 46 | u | 62 | + | | 15 | P | 31 | f | 47 | v | 63 | / |

Häufige Anwendungsfälle für Base64-Kodierung

E-Mail-Anhänge (MIME)

Base64 wurde für MIME (Multipurpose Internet Mail Extensions) entwickelt. E-Mail-Protokolle wie SMTP wurden für 7-Bit-ASCII-Text konzipiert, daher müssen binäre Anhänge wie PDFs, Bilder und ZIP-Dateien vor dem Senden per E-Mail als Base64 kodiert werden.

Data-URLs in HTML und CSS

Base64 ermöglicht es Ihnen, Bilder, Schriftarten und andere Medien direkt in HTML- oder CSS-Dateien einzubetten, indem Sie Data-URLs verwenden:

<img src="data:image/png;base64,iVBORw0KGgo..." alt="Embedded Image" />

Dies eliminiert eine zusätzliche HTTP-Anfrage, was für kleine Assets vorteilhaft sein kann.

JSON Web Tokens (JWT)

JWTs verwenden die URL-sichere Variante von Base64 (Base64url), um Header, Payload und Signatur jedes Tokens zu kodieren. Deshalb sehen Sie Strings wie eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 in Authentifizierungssystemen.

Speichern von Binärdaten in Datenbanken

Viele Datenbanken sind auf Textspeicherung optimiert und können mit rohen Bytes möglicherweise nicht gut umgehen. Das Kodieren von Binärdaten als Base64 ermöglicht es Ihnen, Bilder, serialisierte Objekte oder verschlüsselte Daten in Textspalten zu speichern.

API-Payloads

Beim Senden von Binärdaten über eine REST- oder GraphQL-API — insbesondere im JSON-Format — ist Base64 die Standardwahl, da JSON rohe Bytes nicht nativ darstellen kann.

Erhöht Base64 die Dateigröße?

Ja. Base64-Kodierung vergrößert die Datenmenge um etwa 33 %. Für jeweils 3 Bytes Eingabe erhalten Sie 4 Bytes Ausgabe. Dieser Overhead ist der Preis dafür, Binärdaten über reine Textkanäle transportierbar zu machen.

Ist Base64 eine Verschlüsselung?

Nein. Dies ist ein häufiges Missverständnis. Base64 ist ein Kodierungsverfahren, keine Verschlüsselung. Jeder, der einen Base64-String erhält, kann ihn ohne Schlüssel zurück in die ursprünglichen Daten dekodieren. Es bietet keinerlei Sicherheit oder Vertraulichkeit. Wenn Sie Daten schützen müssen, verwenden Sie Verschlüsselung (wie AES) und kodieren Sie die verschlüsselten Bytes optional anschließend mit Base64 für den Transport.

Base64 vs. andere Binär-zu-Text-Kodierungen

| Kodierung | Alphabetgröße | Overhead | Geeignet für | |-----------|---------------|----------|--------------| | Base64 | 64 Zeichen | ~33 % | Datenübertragung und Einbettung | | Base32 | 32 Zeichen | ~60 % | Für Menschen lesbare, case-insensitive Kontexte | | Base16 (Hex) | 16 Zeichen | 100 % | Debugging, Speicherauszüge, Farbcodes | | Ascii85 | 85 Zeichen | ~25 % | Adobe PostScript, PDF-Streams |

Base64 bietet eine ausgewogene Mischung aus Platzeffizienz und breiter Kompatibilität und ist damit die beliebteste Binär-zu-Text-Kodierung im Web.

Probieren Sie Base64-Kodierung online aus

Bereit, Ihre eigenen Daten zu kodieren? Verwenden Sie unseren kostenlosen Online-Base64-Encoder und -Decoder, um Text oder Dateien sofort in Ihrem Browser zu konvertieren. Keine Installation oder Registrierung erforderlich.