Base64
Schreiben oder fügen Sie Text ein, dann wird er sofort kodiert oder dekodiert.
0 Zeichen · 0 Bytes
Ergebnis
So funktioniert es
Base64 schreibt beliebige Bytes in 64 Zeichen um, die den Transport durch Systeme überstehen, die für Text gebaut sind, etwa E-Mail und Webadressen.
Aus drei Bytes werden vier Zeichen, wodurch das Ergebnis rund ein Drittel länger ist als das Original. Die Gleichheitszeichen am Ende sind Füllzeichen, wenn die Zahl der Bytes nicht glatt durch drei teilbar ist.
Base64 ist Kodierung, keine Verschlüsselung. Jeder kann das Ergebnis dekodieren, es schützt also nichts. Nutzen Sie es, um Daten zu transportieren, nie um sie zu verbergen.
Der Text wird als UTF-8 kodiert, bevor er umgerechnet wird, und deshalb funktionieren Umlaute, ß und Emoji. Die eingebaute Funktion des Browsers kommt allein nur mit Zeichen unter 256 zurecht.
Die URL-sichere Variante tauscht Plus gegen Bindestrich und Schrägstrich gegen Unterstrich. Die Dekodierung hier nimmt beide Varianten an, mit oder ohne Füllzeichen.
So arbeitet das Werkzeug
Beim Kodieren wandelt das Werkzeug den Text zuerst in UTF-8-Bytes um und lässt sie dann von der Browserfunktion btoa als Base64 schreiben. Beim Dekodieren entfernt es allen Leerraum, auch Zeilenumbrüche mitten im Text, macht Bindestriche und Unterstriche wieder zu Plus und Schrägstrich und ergänzt Gleichheitszeichen, bis die Länge durch vier teilbar ist. Dann dekodiert die Browserfunktion atob, und die Bytes werden streng als UTF-8 gelesen: Bytes, die kein gültiges UTF-8 bilden, führen zu einer Fehlermeldung statt zu Ersatzzeichen. Unter dem Feld stehen Zeichen und Bytes. Zeichen werden so gezählt, wie man sie liest, ein Emoji mit Hautfarbe ist also ein Zeichen, aber acht Bytes in UTF-8, und die Bytes bestimmen die Länge des Ergebnisses.
Rechenbeispiel
Hä wird in UTF-8 zu drei Bytes: 48 für H und C3 A4 für ä. Die 24 Bits zerfallen in vier Gruppen zu sechs Bits: 010010, 001100, 001110 und 100100, also 18, 12, 14 und 36. Im Base64-Alphabet, in dem A bis Z für 0 bis 25 und a bis z für 26 bis 51 stehen, sind das S, M, O und k. Das Ergebnis ist SMOk, ohne Füllzeichen, weil drei Bytes genau in vier Zeichen passen.
Moin hat vier Bytes und wird zu TW9pbg==. Das vierte Byte füllt nur zwei Zeichen einer neuen Vierergruppe, und die beiden Gleichheitszeichen füllen die Gruppe auf.
Grenzfälle
Das Werkzeug arbeitet mit Text. Base64, das Binärdaten enthält, etwa ein Bild oder eine komprimierte Datei, führt beim Dekodieren in der Regel zur Fehlermeldung, weil die Bytes kein gültiges UTF-8 sind.
Base64 in E-Mails ist in Zeilen umbrochen: RFC 2045 erlaubt höchstens 76 Zeichen pro Zeile und sagt, dass Zeilenumbrüche beim Dekodieren zu übergehen sind. Weil das Werkzeug zuerst allen Leerraum entfernt, lässt sich ein kodierter Textteil aus einer E-Mail so einfügen, wie er ist.
Eine Zeichenfolge, deren Länge beim Teilen durch vier den Rest 1 lässt, kann nie gültig sein. Ein einzelnes letztes Zeichen trägt nur sechs Bits, zu wenig für ein ganzes Byte, und der Algorithmus im WHATWG Infra Standard, dem atob folgt, weist solche Eingaben ab. TW9pb, also TW9pbg== ohne die letzten drei Zeichen, führt zur Fehlermeldung, während TW9pbg ohne Gleichheitszeichen zu Moin dekodiert wird.