Was Ist Base64? Die 30-Sekunden-Erklarung

Base64 ist eine Methode, um binare Daten (Bytes) in Text (ASCII-Zeichen) umzuwandeln. Es nimmt beliebige Daten — ein Bild, ein PDF, einen Unicode-String, einen kryptografischen Schlussel — und stellt sie nur mit 64 "sicheren" Zeichen dar: A-Z, a-z, 0-9, + und / (plus = als Fullzeichen).

Warum 64 Zeichen? Weil 2 = 64. Jedes Base64-Zeichen kodiert genau 6 Bits Daten. Drei Bytes (24 Bits) werden zu vier Base64-Zeichen. Deshalb ist die Base64-Ausgabe immer ~33% gro?er als die Eingabe.

Der Sinn ist Sicherheit. Binare Daten konnen Bytes enthalten, die in textbasierten Protokollen nicht gultig sind (Null-Bytes, Steuerzeichen, Bytes uber 127). Base64 bildet alles auf einen universell sicheren Zeichensatz ab, der E-Mail, JSON, XML, URLs und Kopieren-Einf黦en unbeschadet ubersteht.

Wie Base64-Kodierung Tatsachlich Funktioniert

Lassen Sie uns das Wort "Man" Schritt fur Schritt kodieren:

Schritt 1: Jedes Zeichen in seinen ASCII-Byte-Wert umwandeln
M -> 77, a -> 97, n -> 110

Schritt 2: Den 24-Bit-Binar-String schreiben (3 Bytes x 8 Bits)
01001101 01100001 01101110

Schritt 3: In 6-Bit-Gruppen aufteilen (24 Bits / 6 = 4 Gruppen)
010011 010110 000101 101110

Schritt 4: Jede 6-Bit-Gruppe in Dezimal umwandeln
010011 = 19, 010110 = 22, 000101 = 5, 101110 = 46

Schritt 5: Jede Dezimalzahl dem Base64-Alphabet zuordnen
Index:  0=A, 1=B, ... 25=Z, 26=a ... 51=z, 52=0 ... 61=9, 62=+, 63=/
19=T, 22=W, 5=F, 46=u

Ergebnis: "Man" -> "TWFu"

Wenn die Eingabe kein Vielfaches von 3 Bytes ist, kommt Fullung (Padding) ins Spiel. Ein zusatzliches Byte -> zwei Base64-Zeichen + "==". Zwei zusatzliche Bytes -> drei Base64-Zeichen + "=". Das Padding sagt dem Dekodierer, wie viele Bytes verworfen werden m黶sen.

EingabeBinar (gruppiert)Base64-Ausgabe
"M" (1 Byte)010011 01[0000 000000]TQ==
"Ma" (2 Bytes)010011 010110 0001[00 000000]TWE=
"Man" (3 Bytes)010011 010110 000101 101110TWFu

Das ist der gesamte Algorithmus. 6-Bit-Gruppen, Nachschlagetabelle, Padding fur Nicht-Vielfache-von-3. Einfach genug, um in 20 Zeilen Code implementiert zu werden — und weitlaufig in der Standardbibliothek jeder Programmiersprache vorhanden.

Wann Man Base64 Verwendet (Und Wann NICHT)

Gute Verwendungen fur Base64

  • Einbetten von Binar in Textprotokolle — E-Mail-Anhange (MIME), JSON Web Tokens, XML-Payloads. Uberall dort, wo der Transport Text erwartet, aber Sie Bytes haben.
  • Data URIs — Kleine Bilder direkt in HTML/CSS einbetten: <img src="data:image/png;base64,iVBOR...">. Vermeidet eine zusatzliche HTTP-Anfrage fur kleine Assets.
  • API-Authentifizierungstokens — HTTP Basic Auth kodiert benutzername:passwort als Base64. Hinweis: Das ist KEINE Verschl黶selung, nur Kodierung.
  • Kurze Binar-Strings in URLs — Die Base64URL-Variante ersetzt + durch - und / durch _ und lasst das =-Padding weg. Sicher fur URL-Query-Parameter.
  • Speichern von Binar in JSON — JSON kann keine rohen Bytes aufnehmen. Base64-kodieren, als String speichern, am anderen Ende dekodieren.

Schlechte Verwendungen fur Base64

  • Verschl黶selung — Base64 ist Kodierung, keine Verschl黶selung. Null Sicherheit. Jeder kann es dekodieren. "Base64 verschl黶seln" ist ein Alarmzeichen.
  • Gro?e Dateien — Das Kodieren einer 10MB-Datei als Base64 erzeugt einen ~13,3MB gro?en Text-String. Dieser 33% Overhead summiert sich. Verwenden Sie binaere Ubertragung fur gro?e Payloads.
  • Datenbankspeicher — Das Speichern von Bildern als Base64 in einer Datenbankspalte ist ublich, aber meistens falsch. 33% gro?er, nicht abfragbar, nicht ohne Dekodierung anzeigbar. Speichern Sie binaere BLOBs oder verwenden Sie Objektspeicher.
  • Komprimierung — Base64 macht Daten gro?er, nicht kleiner. Wenn Sie die Gro?e reduzieren mchten, komprimieren Sie zuerst (gzip/brotli) und kodieren Sie dann die komprimierte Ausgabe als Base64.

4 Orte, an Denen Sie Taglich auf Base64 Treffen

1. E-Mail-Anhange (MIME)

Jeder E-Mail-Anhang, den Sie jemals gesendet oder empfangen haben, wurde Base64-kodiert. SMTP wurde 1982 fur 7-Bit-ASCII-Text entwickelt. Base64 wandelt Ihr PDF, Bild oder ZIP in sichere 7-Bit-Zeichen um, die jeden E-Mail-Server der Welt unbeschadet uberstehen.

2. JSON Web Tokens (JWTs)

Ein JWT sieht so aus: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.dozjgNGl1HaS3d4-ZEJVhM6Q0m0sRgFPah28vY7Fgzg. Die drei punktgetrennten Abschnitte sind Base64URL-kodiertes JSON (Header, Payload, Signatur). Unser JWT Decoder dekodiert diese Abschnitte, damit Sie einsehen konnen, was darin steckt.

3. Data URIs in CSS und HTML

background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0i...);

Das bettet ein SVG direkt in CSS ein. Keine separate Datei, keine HTTP-Anfrage. Ideal fur kleine Symbole und Logos. Schlecht fur Fotos (riesige Base64-Strings, umgeht Caching). Fur Bilder verwenden Sie unser Bild-zu-Base64-Tool.

4. HTTP Basic Authentication

Der Browser sendet Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=. Dieser String dekodiert zu benutzername:passwort. Nochmals: NICHT verschl黶selt. Jeder im Netzwerk kann es dekodieren. Verwenden Sie Basic Auth nur uber HTTPS.

So Kodieren/Dekodieren Sie Base64 Sofort

Sie m黶sen keinen Code fur einmalige Base64-Aufgaben schreiben:

  • Base64 Encoder/Decoder — Text einf黦en und sofort kodieren/dekodieren. Unterstutzt Standard-Base64 und Base64URL. Kein Konto, kein Hochladen, lauft in Ihrem Browser.
  • Kommandozeile: echo -n "hallo" | base64 (Linux/macOS) oder [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("hallo")) (PowerShell).
  • Browser-Konsole: btoa("hallo") zum Kodieren, atob("aGFsbG8=") zum Dekodieren.

Speziell fur Bilder verwenden Sie unser Bild-zu-Base64-Tool, um jedes Bild in eine Data URI umzuwandeln, die Sie direkt in HTML oder CSS einf黦en konnen.

Profi-Tipp: Base64-Strings haben immer eine Lange, die ein Vielfaches von 4 ist (aufgrund der 3->4-Byte-Abbildung + Padding). Wenn Ihr "Base64"-String nicht sauber an einer 4-Zeichen-Grenze endet, ist er wahrscheinlich beschadigt oder abgeschnitten.