Base64-Kodierer-Dekoder - Kostenloses Online-Base64-Konvertierungstool
Kostenloses Base64-Kodierer-Dekoder-Tool. Konvertieren Sie Text zu Base64 oder dekodieren Sie Base64-Strings sofort. Unterstützt Standard- und URL-sichere Kodierung. Keine Anmeldung erforderlich.
Base64-Kodierer/Dekoder
Text in Base64 umwandeln und umgekehrt
Dokumentation
Was ist Base64-Kodierung?
Base64 ist ein Verfahren, mit dem sich beliebige Daten, einschließlich Binärdaten wie Bildern, in einfachen Text umwandeln lassen, der nur aus Buchstaben, Ziffern und einigen Symbolen besteht. Ein Base64-Kodierer wandelt Daten in diese Textform um. Ein Base64-Dekodierer stellt daraus wieder die ursprünglichen Daten her. Programme verwenden Base64, um Binärdaten sicher durch Systeme wie E-Mail oder JSON zu übertragen, die einfachen Text erwarten.
Base64 verwendet ein Alphabet aus 64 Zeichen:
- Großbuchstaben A–Z (26 Zeichen)
- Kleinbuchstaben a–z (26 Zeichen)
- Ziffern 0–9 (10 Zeichen)
- Zwei Symbole, gewöhnlich
+und/(2 Zeichen)
Einige Systeme verwenden außerdem am Ende der Ausgabe ein Gleichheitszeichen (=) als Auffüllung. Die Auffüllung gehört nicht zum Alphabet aus 64 Zeichen; sie ergänzt lediglich die Länge.
Warum es Base64 gibt
Viele ältere Textprotokolle, darunter E-Mail (SMTP) und einige Teile von HTTP, wurden für die Übertragung von 7-Bit-ASCII-Text entwickelt. Sie können rohe Binärbytes beschädigen, etwa die Bytes in einem JPEG-Bild. Base64 vermeidet dies, indem jedes Byte ausschließlich durch sichere, druckbare Zeichen dargestellt wird. Deshalb werden E-Mail-Anhänge, in Webseiten eingebettete Bilder und Binärfelder in JSON häufig zunächst in Base64 umgewandelt.
Base64 ist weder Komprimierung noch Verschlüsselung. Die kodierte Ausgabe ist immer größer als die Eingabe, und jeder kann sie ohne Passwort oder Schlüssel dekodieren.
Verwendung dieses Tools
- Text in das Eingabefeld eingeben oder einfügen.
- „In Base64 kodieren“ auswählen, um Text in Base64 umzuwandeln, oder „Aus Base64 dekodieren“, um eine Base64-Zeichenfolge wieder in Text umzuwandeln.
- Die Live-Umwandlung aktivieren, damit die Ausgabe während der Eingabe automatisch aktualisiert wird.
- Das Ergebnis mit der Kopierschaltfläche kopieren.
Das Tool liest und schreibt Standard-Unicode-Text, sodass Buchstaben mit Akzenten, Symbole und Emojis korrekt kodiert und dekodiert werden, nicht nur einfache englische Buchstaben.
So funktioniert die Base64-Kodierung
Base64 wandelt jeweils 3 Bytes der Eingabe (24 Bits) in 4 Ausgabezeichen um, von denen jedes 6 Bits enthält, da 24 geteilt durch 6 4 ergibt.
- Die Eingabebytes nehmen und als Binärzahl schreiben.
- Die Bits in Gruppen von 24 Bits (3 Bytes) zusammenfassen.
- Jede Gruppe aus 24 Bits in vier Teile zu je 6 Bits aufteilen.
- Jede 6-Bit-Zahl (von 0 bis 63) im Base64-Alphabet nachschlagen und das entsprechende Zeichen notieren.
Wenn die Eingabelänge kein Vielfaches von 3 ist, ist die letzte Gruppe unvollständig. Der Kodierer füllt sie mit Nullbits auf und fügt der Ausgabe =-Zeichen hinzu, sodass das Ergebnis weiterhin in Gruppen von 4 Zeichen erscheint:
- Ein übrig gebliebenes Byte ergibt 2 Base64-Zeichen plus
==. - Zwei übrig gebliebene Bytes ergeben 3 Base64-Zeichen plus ein
=.
Beispiel für eine Base64-Kodierung
Kodierung des Wortes „Hello“:
- ASCII-Werte: 72, 101, 108, 108, 111
- Binär:
01001000 01100101 01101100 01101100 01101111 - Die ersten 3 Bytes (24 Bits) werden in vier Gruppen zu je 6 Bits aufgeteilt:
010010 000110 010101 101100. Dies sind die Zahlen 18, 6, 21, 44 → die ZeichenS,G,V,s. - Die verbleibenden 2 Bytes (16 Bits) werden in drei Gruppen zu je 6 Bits aufgeteilt; am Ende werden 2 Nullbits ergänzt:
011011 000110 111100. Dies sind die Zahlen 27, 6, 60 → die Zeichenb,G,8. - Da 2 Bytes übrig geblieben sind, wird am Ende ein
=hinzugefügt. - Ergebnis:
SGVsbG8=
Beim Dekodieren werden diese Schritte umgekehrt: Jedes Zeichen wird wieder seiner 6-Bit-Zahl zugeordnet, die Bits werden zu einem Datenstrom verbunden, und dieser Datenstrom wird wieder in 8-Bit-Bytes aufgeteilt.
Formel für die Länge einer Base64-Kodierung
Bei einer Eingabe von n Bytes beträgt die kodierte Länge in Zeichen:
encoded_length = 4 × ⌈n / 3⌉
Dabei bedeutet ⌈x⌉, dass auf die nächste ganze Zahl aufgerundet wird. Die Formel zeigt, warum die Base64-Ausgabe immer etwa ein Drittel größer als die Eingabe ist: 4 Ausgabezeichen je 3 Eingabebytes entsprechen einer Zunahme von 33 %.
Wo Base64 verwendet wird
- E-Mail-Anhänge (MIME). E-Mail wurde für Text entwickelt, daher werden Dateianhänge vor dem Versand in Base64 umgewandelt, wodurch die angehängte Datei etwa 33 % größer als das Original wird.
- Daten-URIs. Kleine Bilder können direkt als Text in HTML oder CSS eingebettet werden, etwa als
data:image/png;base64,iVBORw0KGgo..., sodass keine separate Dateianforderung nötig ist. Dies funktioniert am besten bei kleinen Dateien, da große Dateien die Seite aufblähen und nicht separat zwischengespeichert werden können. - APIs und JSON. JSON bietet keine native Möglichkeit, rohe Binärdaten aufzunehmen. Daher werden Binärdateien, die über eine JSON-API gesendet werden, häufig zunächst in Base64 kodiert.
- HTTP-Basisauthentifizierung. Der
Authorization-Header kodiert einen Benutzernamen und ein Passwort als Base64, zum BeispielAuthorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=. Dies ist allein nicht sicher; die Anmeldedaten können von jedem gelesen werden, der sie abfängt. Daher sollte die Basisauthentifizierung nur über HTTPS verwendet werden. - JSON Web Tokens (JWT). Jeder der drei Teile eines JWT wird mit Base64URL kodiert, einer Variante, die sich sicher in einer URL verwenden lässt.
- Binärdaten als Text speichern. Datenbanken oder Konfigurationsdateien, die nur Text akzeptieren, speichern Binärdaten manchmal als Base64-Zeichenfolge.
Base64 im Vergleich zu anderen Kodierungen
URL-sicheres Base64 ersetzt die Standardzeichen + und / durch - und _, da + und / innerhalb einer URL eine besondere Bedeutung haben. Es wird für JWTs, URL-Abfrageparameter und Dateinamen verwendet. Dieses Tool erzeugt eine Standard-Base64-Ausgabe; für die URL-sichere Form müssen lediglich diese beiden Zeichen ausgetauscht werden.
Base32 verwendet ein Alphabet aus 32 Zeichen, sodass jedes Zeichen statt 6 Bits 5 Bits enthält. Es wandelt jeweils 5 Bytes in 8 Zeichen um, mit einem Mehraufwand von 60 % (8 ÷ 5 = 1,6), verglichen mit 33 % bei Base64. Base32 wird gewählt, wenn die Ausgabe von Hand eingegeben oder telefonisch vorgelesen werden muss, da es auf Groß- und Kleinschreibung sowie leicht verwechselbare Zeichen verzichtet.
Hexadezimaldarstellung verwendet 16 Zeichen (0–9, A–F) und benötigt 2 Zeichen pro Byte, wodurch sich die Größe verdoppelt (100 % Mehraufwand). Sie ist bei der Darstellung von Hashes, Farben und MAC-Adressen üblich, wenn Lesbarkeit wichtiger ist als eine kompakte Größe.
Wann Base64 nicht verwendet werden sollte
Base64 erhöht Datenmenge und CPU-Aufwand und eignet sich daher schlecht für große Dateien, die über ein Netzwerk gesendet werden; die direkte Übertragung der rohen Binärdaten ist kleiner und schneller. Es sollte niemals dazu verwendet werden, vertrauliche Informationen wie Passwörter oder API-Schlüssel zu verbergen, da zum Dekodieren kein Geheimnis erforderlich ist. Zum Speichern großer Dateien ist der Binärspaltentyp einer Datenbank oder ein Dateispeicherdienst gewöhnlich besser geeignet als eine lange Base64-Zeichenfolge in einem Textfeld.
Häufige Fehler
- Überspringen der UTF-8-Umwandlung. Text mit Buchstaben mit Akzenten oder Emojis kann beschädigt werden, wenn er kodiert wird, ohne zuvor in UTF-8-Bytes umgewandelt zu werden.
- Auffüllung entfernen. Einige Systeme entfernen die abschließenden
=-Zeichen. Die meisten Dekodierer funktionieren weiterhin, wenn die Zeichenfolgenlänge wieder auf ein Vielfaches von 4 aufgefüllt wird, aber nicht alle akzeptieren dies. Daher ist es sicherer, die Auffüllung beizubehalten. - Übrig gebliebene Zeilenumbrüche. Ältere MIME-basierte Kodierer fügen alle 76 Zeichen einen Zeilenumbruch ein; die meisten modernen Dekodierer erwarten eine durchgehende Zeichenfolge ohne solche Umbrüche.
- Varianten verwechseln. Standard-Base64 und URL-sicheres Base64 verwenden für dieselben beiden Positionen im Alphabet unterschiedliche Zeichen. Das Dekodieren mit der falschen Variante erzeugt unlesbare Daten oder einen Fehler.
Häufig gestellte Fragen
Ist Base64 eine Form der Verschlüsselung? Nein. Es handelt sich um eine reversible Textkodierung, nicht um Verschlüsselung. Jeder kann eine Base64-Zeichenfolge ohne Passwort sofort dekodieren. Wenn Daten geheim bleiben müssen, sollte ein Verschlüsselungsalgorithmus wie AES verwendet werden.
Warum macht Base64 Daten größer? Weil ein vollständiges Zeichen nur 6 Bits enthält, während ein Rohbyte 8 Bits speichert. Die Umwandlung von 3 Bytes (24 Bits) in 4 Zeichen bedeutet, dass die Ausgabe 4/3 beziehungsweise etwa 33 % größer als die Eingabe ist.
Kann Base64 Bilder und andere Binärdateien kodieren? Ja. Jede Binärdatei, einschließlich Bildern, PDFs und Audiodateien, kann in Base64 kodiert und Byte für Byte wieder dekodiert werden. Dies wird häufig für kleine Bilder verwendet, die in HTML oder CSS eingebettet sind, eignet sich aber schlecht für große Dateien.
Was ist der Unterschied zwischen Base64 und Base64URL?
Base64URL ersetzt die Standardzeichen + und / durch - und _, sodass sich das Ergebnis ohne zusätzliche Maskierung sicher in einer URL oder einem Dateinamen verwenden lässt. JWTs verwenden aus diesem Grund Base64URL.
Warum führt meine Base64-Zeichenfolge beim Dekodieren zu einem „ungültig“-Fehler?
Die häufigsten Ursachen sind Zeichen, die nicht zum Base64-Alphabet gehören, etwa - und _ der URL-sicheren Variante, oder eine Zeichenfolge, deren Länge um eins größer als ein Vielfaches von 4 ist. Keine gültige Base64-Zeichenfolge hat diese Länge. Das Dekodieren schlägt auch fehl, wenn die dekodierten Bytes kein gültiger UTF-8-Text sind. Dieses Tool ignoriert Leerzeichen und Zeilenumbrüche innerhalb der Zeichenfolge und dekodiert auch eine Zeichenfolge, deren abschließende =-Auffüllung entfernt wurde.
Woher stammt Base64? Das Verfahren geht auf frühe Methoden zur Übertragung von Binärdaten über reine Text-Mailsysteme in den 1980er-Jahren zurück und wurde als Teil von MIME in RFC 2045 im Jahr 1996 formal standardisiert. Die aktuelle Referenzspezifikation für Base64, Base32 und Base16 ist RFC 4648.