Base64 ist eine Möglichkeit, Binärdaten mit gewöhnlichen Textzeichen darzustellen. Ein Bild, ein Dokument oder ein Textstück können alle als Bytes dargestellt werden. Wenn ein System diese Bytes in einem Textfeld benötigt, stellt Base64 eine umkehrbare Schreibweise bereit, die der Empfänger später dekodieren kann.
Ein kleines Beispiel
Der Text Hello enthält fünf ASCII Bytes. Das Codieren dieser Bytes erzeugt SGVsbG8=. Durch die Dekodierung dieses Werts werden dieselben fünf Bytes zurückgegeben, die dann als Originaltext gelesen werden können. Das Gleichheitszeichen gehört zur letzten Gruppe der Kodierung; es ist nicht Teil des Wortes Hallo.
Text: Hello
Bytes in Hex: 48 65 6c 6c 6f
Base64: SGVsbG8=
Decoded bytes: 48 65 6c 6c 6f
Probieren Sie das Beispiel im Encoder aus, kopieren Sie das Ergebnis in den Decoder und vergleichen Sie den zurückgegebenen Text. Dann versuchen Sie es mit einem chinesischen Schriftzeichen oder Emoji. Text muss zunächst mithilfe einer Zeichenkodierung wie UTF-8 in Bytes umgewandelt werden; Base64 selbst definiert keine Sprache oder keinen Zeichensatz.
Wo Sie darauf stoßen
Zu den gängigen Beispielen gehören ein Binärfeld in JSON, ein Inline-Bild in einem Datenfeld URI und die lesbaren Teile bestimmter Token. Das umgebende Format liefert den Kontext. Eine Base64-Zeichenfolge allein verrät Ihnen nicht den ursprünglichen Dateinamen, den MIME-Typ, die Zeichenkodierung oder ob der Inhalt vertrauenswürdig ist.
Ein Data URI fügt ein Präfix hinzu, z data:image/png;base64,. Dieses Präfix beschreibt die Nutzlast, ist aber nicht Teil des Base64-Alphabets. Einige Decoder verstehen den Wrapper; andere erwarten nur den Teil nach dem Komma. Wählen Sie das entsprechende Werkzeug oder den entsprechenden Modus, anstatt unbekannte Zeichen wahllos zu löschen.
Drei häufige Missverständnisse
Erstens handelt es sich bei Base64 nicht um eine Verschlüsselung: Zum Entschlüsseln ist kein Geheimnis erforderlich. Zweitens werden die Dateien dadurch nicht kleiner; Die normale aufgefüllte Ausgabe ist etwa ein Drittel größer als die ursprünglichen Bytes. Drittens ist nicht jedes dekodierte Ergebnis Text. Ein Bild kann korrekt in Bytes dekodiert werden, die in einem Textfeld wie Unsinn aussehen.
Wenn eine Dekodierung fehlschlägt, überprüfen Sie die Originalquelle, das ausgewählte Alphabet und ob die Zeichenfolge abgeschnitten wurde. Wenn dies erfolgreich ist, wählen Sie eine geeignete Ansicht: Text für gültige Textbytes, Hex zur Überprüfung oder einen Dateidownload für Binärdaten. Das detaillierte Base64-Alphabet und Beispiele sind in definiert RFC 4648.