Inhaltsverzeichnis
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.
| Eingabe | Binar (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 101110 | TWFu |
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:passwortals 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.