Base64-Kodierung/Dekodierung Erklärt: Von Konzepten zu Praktischen Anwendungen
Was ist Base64?
Base64 ist eine Methode zur Kodierung von Binärdaten als ASCII-Text. Sie verwendet 64 druckbare Zeichen (A-Z, a-z, 0-9, +, /), um beliebige Binärdaten darzustellen.
Warum Base64?
Viele Systeme können nur Textdaten verarbeiten und keine Binärdaten direkt übertragen:
- E-Mail: SMTP unterstützte ursprünglich nur ASCII-Text
- URL: Binärdaten können nicht direkt in URLs platziert werden
- JSON: Binärdaten (wie Bilder) können nicht inline eingebettet werden
- HTML/CSS: Inline-Bilder erfordern ein Textformat
Base64 konvertiert Binärdaten in Text und löst diese Übertragungsbeschränkungen.
Base64-Kodierungsprinzip
Kernschritte
- Eingabedaten in 3-Byte-Gruppen (24 Bit) zusammenfassen
- Jede 24-Bit-Gruppe in 4 × 6 Bit aufteilen
- Jeden 6-Bit-Wert (0–63) einem Base64-Zeichen zuordnen
- Unvollständige Gruppen mit
=auffüllen
Kodierungstabelle
| Wert | Zeichen | Wert | Zeichen | Wert | Zeichen | Wert | Zeichen |
|---|---|---|---|---|---|---|---|
| 0 | A | 16 | Q | 32 | g | 48 | w |
| 1 | B | 17 | R | 33 | h | 49 | x |
| ... | ... | ... | ... | ... | ... | ... | ... |
| 25 | Z | 41 | p | 57 | 5 | 63 | / |
Kodierungsbeispiel
Eingabe: "Hello" (ASCII: 72 101 108 108 111)
Binär: 01001000 01100101 01101100 01101100 01101111
6-Bit-Gruppen: 010010 000110 010101 101100 011011 000110 1111(00)
↓ ↓ ↓ ↓ ↓ ↓ ↓
Index: 18 6 21 44 27 6 60
Zeichen: S G V s b G 8=
Ergebnis: "SGVsbG8="
Praktische Anwendungen
1. Inline-Bilder (Data URL)
Kleine Bilder als Base64 kodieren und direkt in HTML/CSS einbetten, um HTTP-Anfragen zu reduzieren:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUg..." />
.icon {
background-image: url(data:image/svg+xml;base64,PHN2Zy...);
}
Hinweis: Nur geeignet für kleine Icons (< 2 KB). Große Inline-Bilder blähen Ihr HTML auf.
2. URL-sichere Kodierung
Standard-Base64 verwendet + und /, die in URLs eine besondere Bedeutung haben. URL-sicheres Base64 ersetzt sie:
+→-/→_=-Padding entfernen
Standard: a+b/c==
URL-sicher: a-b_c
Verwenden Sie den Base64-Kodierer/Dekodierer und aktivieren Sie den URL-sicheren Modus.
3. JWT-Token
Alle drei Teile eines JWT (JSON Web Token) verwenden die Base64URL-Kodierung:
Header.Payload.Signature
↑ ↑ ↑
Base64 Base64 HMAC
4. E-Mail-Anhänge
MIME-E-Mail-Anhänge werden mit Base64-Kodierung übertragen:
Content-Transfer-Encoding: base64
SGVsbG8gV29ybGQ=
5. Konfigurationsgeheimnisse
Viele Konfigurationssysteme speichern binäre Schlüssel mit Base64:
apiVersion: v1
kind: Secret
data:
password: cGFzc3dvcmQ= # Base64-kodiert
Wichtige Hinweise
Größenzunahme
Base64-Kodierung erhöht die Datengröße um etwa 33%:
Original: 3 Bytes → Kodiert: 4 Zeichen (4/3 ≈ 1,33)
| Originalgröße | Base64-Größe | Zunahme |
|---|---|---|
| 1 KB | 1,33 KB | +33% |
| 100 KB | 133 KB | +33% |
| 1 MB | 1,33 MB | +33% |
Sicherheitsirrtum
Base64 ist KEINE Verschlüsselung! Es ist nur eine Kodierung — jeder kann sie dekodieren. Verwenden Sie Base64 niemals zum Schutz sensibler Daten.
Base64("password") = "cGFzc3dvcmQ="
Base64Decode("cGFzc3dvcmQ=") = "password" ← In einer Sekunde umgekehrt
Für echte Verschlüsselung verwenden Sie AES-Verschlüsselung oder SM4-Verschlüsselung.
Base64-Varianten
Base32
Verwendet 32 Zeichen (A-Z, 2-7), alle Großbuchstaben. Geeignet für Systeme ohne Groß-/Kleinschreibung (z. B. Dateinamen). Base32-Werkzeug
Base58
Von der Bitcoin-Community entwickelt, entfernt leicht verwechselbare Zeichen aus Base64 (0/O, 1/I/l, +/). Ideal für manuelle Transkription. Base58-Werkzeug
Base85 / Ascii85
Höhere Kodierungseffizienz (4 Bytes → 5 Zeichen, 25% Zunahme), aber weniger universell als Base64.
ToolsKu für Base64-Kodierung/Dekodierung verwenden
Text kodieren/dekodieren
- Öffnen Sie den Base64-Kodierer/Dekodierer
- Geben Sie Text oder einen Base64-String ein
- Wählen Sie Kodieren oder Dekodieren
- Aktivieren Sie optional den URL-sicheren Modus
Bild zu Base64
Verwenden Sie das Werkzeug Bild zu Base64, um Bilder in Data URLs umzuwandeln.
Stapelverarbeitung
Unterstützt die Stapel-Eingabe mehrerer Zeilen — kodieren oder dekodieren Sie alle auf einmal.
FAQ
Verstümmelte Ausgabe nach Dekodierung?
Die ursprünglichen Daten sind möglicherweise kein UTF-8-Text. Base64 kann beliebige Binärdaten kodieren, aber wenn die Quelle ein Bild oder ein anderes Nicht-Text-Format ist, wird die Dekodierung als Text verstümmelte Zeichen anzeigen.
Base64 in URLs verursacht Fehler?
Stellen Sie sicher, dass Sie die URL-sichere Variante verwenden (ersetzen Sie +// durch -/_, entfernen Sie =). Die Standard-Base64-Zeichen + und / brechen die URL-Struktur.
Base64 vs. Hex — was wählen?
- Base64: Kleinere Ausgabe (33% Overhead), besser für Übertragung
- Hex: Größere Ausgabe (100% Overhead), aber besser lesbar — ideal zum Debuggen und Anzeigen
Verwenden Sie den Hex-Kodierer/Dekodierer für Hex-Kodierung.
Zusammenfassung
Base64 ist eines der am weitesten verbreiteten Kodierungsschemata — das Verständnis seiner Prinzipien und Anwendungsfälle ist für Entwickler unerlässlich. ToolsKu bietet eine vollständige Kodierungs-/Dekodierungs-Toolchain: Base64, Base32, Base58, Hex, URL-Kodierung, plus echte Verschlüsselungstools: AES, SM4 — alles lokal in Ihrem Browser verarbeitet, sicher und zuverlässig.