So dekodieren Sie Base64 in ASCII
- Fügen Sie das Base64 in Eingabe · Base64 ein. Zeichensatz ist auf ASCII voreingestellt.
- Lesen Sie den Text in Ausgabe · Text. Jedes Byte über 127 erscheint als
�. - Sehen Sie
�, ist der Inhalt kein reines ASCII. Stellen Sie Zeichensatz auf UTF-8 oder Windows-1252, um ihn zu lesen. - Mit Ausgabe kopieren übernehmen Sie den Text, mit Herunterladen speichern Sie die dekodierten Bytes.
Für die Gegenrichtung, also reinen Text kodieren, nutzen Sie ASCII in Base64.
Strenges ASCII-Dekodieren
Viele Tools lesen Bytes über 127 in irgendeinem 8-Bit-Zeichensatz, sodass aus einem Nicht-ASCII-Byte ein plausibler Buchstabe wird und es niemand bemerkt. Hier endet ASCII bei 127, und jedes Byte von 128 bis 255 wird als Ersatzzeichen angezeigt. Die Anzahl der � entspricht der Anzahl der Nicht-ASCII-Bytes.
Damit eignet sich die Seite als schneller Test, bevor Sie dekodierte Daten an ein System weitergeben, das nur ASCII akzeptiert. Ein Umlaut in UTF-8 hat zwei Bytes und erscheint daher als ��; ein typografisches Anführungszeichen hat drei Bytes und erscheint als ���.
Beispiele
| Base64 | Bytes (Hex) | Als ASCII |
|---|---|---|
QVNDSUk= | 41 53 43 49 49 | ASCII |
MjAwIE9L | 32 30 30 20 4F 4B | 200 OK |
YQli | 61 09 62 | a, Tab, b |
Y2Fmw6k= | 63 61 66 C3 A9 | caf�� (UTF-8 café) |
4oCcaGnigJ0= | E2 80 9C 68 69 E2 80 9D | ���hi��� (UTF-8 “hi”) |
Die letzten beiden Zeilen werden korrekt dekodiert, wenn Zeichensatz auf UTF-8 steht. Das Feld Sieht aus wie in der Statuszeile nennt trotzdem das Format, ein PNG oder PDF wird also auch im ASCII-Modus erkannt; schalten Sie zurück auf UTF-8, und das Tool verlinkt den passenden Datei-Decoder.
ASCII in Base64 auf einen Blick
ASCII-Text hat in Base64 eine erkennbare Form. Da jedes Byte unter 80 liegt, steht das erste Zeichen jeder 4er-Gruppe im Bereich A–f, nie g–z, eine Ziffer, + oder /. Eine Eins-zu-eins-Zuordnung der Zeichenpositionen gibt es allerdings nicht: 3 ASCII-Zeichen werden immer zu 4 Base64-Zeichen, und einen Ausschnitt, der nicht an einer 4-Zeichen-Grenze beginnt, können Sie nicht dekodieren.
Brauchen Sie den Code jedes Zeichens, sind die Bytewerte nur einen Schritt entfernt: QVNDSUk= ist dezimal 65 83 67 73 73. Base64 in Dezimal und Base64 in Hex listen sie auf, und Base64 in Binär zeigt die Bits.
Base64 in ASCII im Code
import base64
base64.b64decode("QVNDSUk=").decode("ascii") # 'ASCII'
base64.b64decode("Y2Fmw6k=").decode("ascii")
# UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 3
list(base64.b64decode("QVNDSUk=")) # [65, 83, 67, 73, 73]
In JavaScript lauert hier eine Falle: new TextDecoder("ascii") ist laut WHATWG Encoding Standard ein Alias für Windows-1252, dekodiert Y2Fm6Q== also als café und meldet nie Nicht-ASCII-Bytes. Prüfen Sie die Bytes stattdessen selbst, zum Beispiel mit bytes.every(b => b < 128). Mehr dazu in Base64 in JavaScript und Base64 in Python.
Häufige Fragen
Wie wandle ich Base64 in ASCII-Text um?
Fügen Sie das Base64 oben ein. Jedes dekodierte Byte von 0 bis 127 wird als sein ASCII-Zeichen angezeigt. In Python macht base64.b64decode(s).decode("ascii") dasselbe und wirft bei jedem Byte über 127 einen Fehler.
Warum sehe ich �-Symbole in der Ausgabe?
Diese Bytes sind kein ASCII. Meist ist der Text UTF-8 mit Umlauten, typografischen Anführungszeichen oder Emoji; stellen Sie Zeichensatz auf UTF-8, um ihn zu lesen. Besteht fast die ganze Ausgabe aus �, handelt es sich wahrscheinlich um eine Datei.
Wie bekomme ich die ASCII-Codes als Zahlen?
Nehmen Sie Base64 in Dezimal für Bytewerte wie 65 83 67 73 73 oder Base64 in Hex für 41 53 43 49 49.
Kann ASCII-Text unsichtbare Zeichen enthalten?
Ja: Tabulator, Wagenrücklauf, Zeilenvorschub und die anderen Steuercodes 0–31 sind ASCII. Sie werden normal dekodiert, ein Tab zwischen zwei Wörtern bleibt also ein Tab.