Base64-Kodierer/Dekodierer
Schnelles Kodieren und Dekodieren von Base64-Strings mit Unterstützung für Text- und Dateikonvertierung
Was ist Base64?
Base64 ist ein Kodierungsschema, das Binärdaten mit 64 druckbaren ASCII-Zeichen darstellt. Diese Zeichen umfassen Groß- und Kleinbuchstaben, Zahlen und einige Sonderzeichen. Base64 wird häufig in Szenarien verwendet, in denen Binärdaten über reine Textkanäle übertragen werden müssen, wie z. B. E-Mail-Anhänge und URL-Parameter. Das Base64-Kodierungsschema wurde ursprünglich in RFC 4648 und der MIME-Spezifikation (RFC 2045) definiert.
Base64-Kodierungsalgorithmus-Prinzip:
Der Base64-Kodierungsprozess kann in folgende Schritte unterteilt werden:
- Teilen Sie die Eingabedaten in Gruppen von jeweils 3 Bytes auf
- Ordnen Sie diese 3 Bytes (24 Bits) in 4 Gruppen von jeweils 6 Bits um
- Ordnen Sie jeden 6-Bit-Wert (Bereich 0-63) als Index zum Base64-Zeichensatz zu
- Wenn die letzte Gruppe weniger als 3 Bytes hat, füllen Sie mit 0-Bits auf und fügen Sie am Ende des Ergebnisses die entsprechende Anzahl von Gleichheitszeichen (=) als Padding hinzu
Base64-Zeichensatz: A-Z, a-z, 0-9, +, /
Padding-Zeichen: =
Konvertierungsbeispiel:
ASCII-Code für Text "Man": 77 97 110
Binäre Darstellung: 01001101 01100001 01101110
Neu gruppiert in 6 Bits: 010011 010110 000101 101110
Dezimalwerte: 19 22 5 46
Base64-Ergebnis: T W F u
Vereinfachte JavaScript-Implementierung:
// Base64 encoding implementation example (simplified)
function base64Encode(str) {
// Base64 character set
const base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
let result = '';
let i = 0;
// Process every 3 characters as a group
while (i < str.length) {
const char1 = str.charCodeAt(i++);
const char2 = i < str.length ? str.charCodeAt(i++) : 0;
const char3 = i < str.length ? str.charCodeAt(i++) : 0;
// Convert 3 8-bit bytes into 4 6-bit indices
const triplet = (char1 << 16) + (char2 << 8) + char3;
// Extract 4 6-bit values from the triplet
const index1 = (triplet >> 18) & 0x3F;
const index2 = (triplet >> 12) & 0x3F;
const index3 = (triplet >> 6) & 0x3F;
const index4 = triplet & 0x3F;
// Add padding based on the original data length
if (i - 3 > str.length) {
result += base64chars[index1] + base64chars[index2] + '==';
} else if (i - 2 > str.length) {
result += base64chars[index1] + base64chars[index2] + base64chars[index3] + '=';
} else {
result += base64chars[index1] + base64chars[index2] + base64chars[index3] + base64chars[index4];
}
}
return result;
}
Häufige Verwendungszwecke:
- Kodierung von E-Mail-Anhängen (MIME-Standard)
- Sichere Datenübertragung in URLs (mit Base64url-Variante, wobei '+' und '/' durch '-' und '_' ersetzt werden)
- Einbetten von Binärbildern in HTML oder CSS (data-URI-Schema)
- Speichern einfacher Daten als einzelne Zeichenkette (wie JWT-Token-Komponenten)
- Einbinden von Binärdaten in XML und JSON (Vermeidung von Escape-Problemen bei Sonderzeichen)
Erweiterte Funktionen
Hexadezimalformat-Unterstützung
Unser Tool unterstützt Hexadezimalformat-Eingabe und -Ausgabe, nützlich für Entwickler, die mit Binärdaten im Programmcode arbeiten.
- Eingabe: Akzeptiert Hex-Format wie 0x11,0x22,0x33 oder einfach 112233
- Ausgabe: Konvertiert dekodiertes Base64 zurück in Hex-Format für Code-Einbettung
Zeichensatz-Unterstützung
Verschiedene Zeichensätze kodieren Text unterschiedlich in Bytes. Unser Tool unterstützt mehrere Zeichensätze zur Verarbeitung verschiedener Textkodierungen:
- UTF-8: Universelle Kodierung, unterstützt alle Unicode-Zeichen (Standard)
- ASCII: 7-Bit-Kodierung, unterstützt grundlegende englische Zeichen (0-127)
- Latin-1 (ISO-8859-1): 8-Bit-Kodierung, unterstützt westeuropäische Zeichen (ISO-8859-1)
- UTF-16: 16-Bit-Kodierung, häufig von Windows und Java verwendet (Little Endian)
Wichtige Hinweise:
- Base64-kodierte Daten sind typischerweise etwa 33% größer als die Originaldaten (da 3 Bytes zu 4 Zeichen werden)
- Base64 ist kein Verschlüsselungsalgorithmus, nur eine Kodierungsmethode und bietet keine Sicherheit
- Base64-Kodierung großer Dateien kann erheblichen Speicher und Verarbeitungszeit verbrauchen
- URL-sichere Base64-Varianten verwenden unterschiedliche Zeichensätze, um URL-Kodierungsprobleme zu vermeiden
- Standard-Base64 kann Zeilenumbrüche enthalten, um die Zeilenlänge zu begrenzen, was in einigen Anwendungen zusätzliche Behandlung erfordert
Vergleich von Base64 mit anderen Kodierungen:
| Kodierungstyp | Eigenschaften | Hauptverwendung |
|---|---|---|
| Base64 | Verwendet 64 ASCII-Zeichen zur Darstellung von Binärdaten | E-Mail-Anhänge, Binärdatenübertragung in Text |
| URL-Kodierung | Konvertiert Sonderzeichen in %XX-Format | URL-Parameterübergabe, Formularübermittlung |
| Hex-Kodierung | Jedes Byte wird als zwei hexadezimale Zeichen dargestellt | Hash-Wert-Darstellung, Binärdaten-Visualisierung |
Für weitere offizielle Informationen über Base64 beachten Sie bitte die folgenden Ressourcen: RFC 4648 (Base64-Standard) | Wikipedia: Base64 | RFC 2045 (MIME-Spezifikation)
Verwandte Tools
URL-Kodierer/Dekodierer
Kodieren und dekodieren Sie URLs zur Sicherstellung der Konformität und Nutzbarkeit
Bild zu Base64 Konverter
Konvertieren Sie Bilder in Base64-Kodierung mit Unterstützung für PNG, JPG, GIF, SVG, WebP-Formate, generieren Sie Data URI und CSS-Hintergründe
HTML-Kodierer/Dekodierer
Konvertieren Sie Sonderzeichen in HTML-Entitäten mit benannten, dezimalen und hexadezimalen Formaten zur Verhinderung von XSS-Angriffen