Was ist Base64-Kodierung und wann setzt man sie ein
Wenn Sie mit APIs, E-Mail-Systemen oder Webentwicklung arbeiten, sind Sie Base64 schon begegnet — auch wenn Sie es nicht erkannt haben. Diese langen Zeichenketten aus Buchstaben und Zahlen, die wie Kauderwelsch aussehen? Das ist wahrscheinlich Base64.
Was Base64 macht
Base64 wandelt Binärdaten (eine beliebige Bytefolge) in eine Textzeichenkette um, die nur 64 „sichere" Zeichen verwendet: A-Z, a-z, 0-9, + und /. Das Ergebnis endet bei Bedarf mit =-Padding.
Beispiel:
- Text:
Hello World - Base64:
SGVsbG8gV29ybGQ=
Diese Kodierung existiert, weil viele Systeme (E-Mail, JSON, URLs, XML) nur Text sicher verarbeiten können. Binärdaten — wie Bilder, komprimierte Dateien oder rohe Bytes — können Zeichen enthalten, die diese Systeme zerstören. Base64 wandelt Binärdaten in Text um, der jeden textbasierten Kanal unbeschadet durchläuft.
Übliche Anwendungen
Bilder in HTML/CSS einbetten:
<img src="data:image/png;base64,iVBORw0KGgoAAAA..." />
Kleine Icons und Logos können direkt in Ihr HTML eingebettet werden, was eine zusätzliche HTTP-Anfrage spart.
API-Nutzlasten: Wenn eine API JSON erwartet, Sie aber Binärdaten einbinden müssen (Datei-Upload, Unterschriftenbild), erlaubt die Base64-Kodierung, sie als gewöhnliches Textfeld zu übergeben.
E-Mail-Anhänge: E-Mail-Protokolle (SMTP) sind textbasiert. Jeder Anhang, den Sie senden, wird hinter den Kulissen Base64-kodiert, damit er als Text reisen kann.
Authentifizierungs-Header: HTTP Basic Authentication kodiert nutzername:passwort als Base64 im Authorization-Header. (Das ist Kodierung, keine Verschlüsselung — es bietet von sich aus keine Sicherheit.)
So kodieren und decodieren Sie
- Kodieren oder Decodieren wählen — wählen Sie die Richtung der Konvertierung.
- Text einfügen oder Datei hochladen — geben Sie Text direkt ein oder ziehen Sie eine Datei (bis 5 MB) hinein.
- Ergebnis kopieren — die Ausgabe aktualisiert sich sofort. Kopieren Sie sie in die Zwischenablage.
Wann Base64 verwenden
Verwenden Sie es, wenn:
- Sie ein kleines Bild (unter 5 KB) direkt in HTML oder CSS einbetten müssen
- Eine API Binärdaten als Textzeichenkette verlangt
- Sie Binärdaten durch ein System schicken, das nur Text unterstützt
Verwenden Sie es nicht, wenn:
- Die Datei groß ist — Base64 fügt 33 % Overhead hinzu und verhindert das Browser-Caching
- Sie Sicherheit brauchen — Base64 ist keine Verschlüsselung
- Sie die Datei normal ausliefern können — ein gewöhnliches
<img src="photo.jpg">ist effizienter als eine Base64-Daten-URL für alles über wenige KB
Tipps
- Nur kleine Dateien — die 33 %ige Größenzunahme zählt. Aus einem 100-KB-Bild werden 133 KB Base64-Text, und es kann vom Browser nicht separat zwischengespeichert werden.
- Kodierung nicht mit Verschlüsselung verwechseln — Base64 ist von jedem vollständig umkehrbar. Es bietet null Sicherheit. Verwenden Sie es zum Datentransport, nicht zum Datenschutz.
- Achten Sie auf Zeilenumbrüche — manche Base64-Implementierungen fügen alle 76 Zeichen einen Zeilenumbruch ein (gemäß MIME-Standard). Wenn Sie Base64 in JSON oder eine URL einfügen, stellen Sie sicher, dass es auf einer einzigen Zeile steht.
Häufig gestellte Fragen
Schützt Base64-Kodierung meine Daten?
Nein. Base64 ist Kodierung, keine Verschlüsselung. Jeder kann eine Base64-Zeichenkette dekodieren — sie bietet keinerlei Sicherheit. Wenn Sie Daten schützen möchten, nutzen Sie echte Verschlüsselung (AES, RSA usw.).
Warum macht Base64 Dateien größer?
Base64-Kodierung erhöht die Datengröße um etwa 33 %. Drei Bytes binärer Daten werden zu vier Base64-Zeichen. Dieser Mehraufwand ist der Preis dafür, binäre Daten als Text sicher übertragen zu können.
Kann ich auch Dateien kodieren, nicht nur Text?
Ja. Jede Datei (Bilder, PDFs, Audio) lässt sich in Base64 kodieren. Das wird häufig genutzt, um kleine Bilder direkt in HTML oder CSS als Daten-URLs einzubetten.
Wann sollte ich Base64 NICHT verwenden?
Nicht für große Dateien. Ein 1-MB-Bild wird als Base64-Text 1,33 MB groß und der Browser kann es nicht separat zwischenspeichern. Für alles über wenige KB ist es effizienter, die Datei normal zu servieren.