Text und Binärcode: Wie Computer Zeichen speichern
Wie wird Text als Binärcode gespeichert? Lerne den Weg vom Zeichen über Unicode und UTF-8 bis zu Bytes und Bits anhand nachvollziehbarer Beispiele kennen.
Wenn du einen Buchstaben tippst, speichert der Computer nicht die Form des Buchstabens. Er speichert Zahlen nach einer vereinbarten Zeichenkodierung. Diese Zahlen werden in Bytes abgelegt, und Bytes lassen sich wiederum als Bitfolgen aus 0 und 1 darstellen.
Dieser Weg hat drei Ebenen:
- Ein Text besteht aus Zeichen.
- Eine Zeichenkodierung bildet Zeichen auf Bytes ab.
- Jedes Byte kann als acht Bit geschrieben werden.
„Text in Binär umwandeln“ bedeutet daher nicht, Text in eine geheime Maschinensprache zu übersetzen. Es bedeutet, die Bytes einer festgelegten Kodierung als Nullen und Einsen anzuzeigen.
Ein einfaches ASCII-Beispiel
Im ASCII-Zeichensatz hat der Großbuchstabe H den Dezimalwert 72 und i den Wert 105:
| Zeichen | Dezimal | Hex | Binär |
|---|---|---|---|
H |
72 | 48 |
01001000 |
i |
105 | 69 |
01101001 |
Das Wort Hi wird in ASCII beziehungsweise UTF-8 damit zu:
01001000 01101001
Das Leerzeichen zwischen den beiden Achtergruppen ist nur eine Lesehilfe. Es gehört nicht zu den Daten.
Warum ASCII für deutschen Text nicht ausreicht
ASCII umfasst 128 Zeichen, aber keine Umlaute, kein ß, keine nicht-lateinischen Schriften und keine Emoji. Unterschiedliche ältere Codepages ergänzten zwar weitere Zeichen, belegten dieselben Bytewerte aber teils unterschiedlich. Eine Datei ohne bekannte Codepage konnte deshalb falsch interpretiert werden.
Unicode schafft einen gemeinsamen Nummernraum für Zeichen. Jeder Codepoint hat eine eindeutige Kennung, etwa U+0048 für H, U+00FC für ü und U+1F642 für 🙂.
Unicode allein bestimmt noch nicht die Bytefolge. Dafür wird eine Kodierung wie UTF-8 benötigt.
UTF-8 benötigt je nach Zeichen unterschiedlich viele Bytes
UTF-8 verwendet ein bis vier Bytes pro Codepoint. ASCII-Zeichen bleiben unverändert und brauchen ein Byte. Das ü wird als zwei Bytes C3 BC gespeichert. Binär geschrieben:
ü
Hex: C3 BC
Binär: 11000011 10111100
Das Emoji 🙂 benötigt in UTF-8 vier Bytes:
F0 9F 99 82
Deshalb sind Zeichenanzahl, Byteanzahl und Anzahl der angezeigten Symbole nicht dasselbe. Zusätzlich kann ein sichtbares Graphem aus mehreren Unicode-Codepoints bestehen, zum Beispiel ein Buchstabe mit kombiniertem Akzent oder ein zusammengesetztes Emoji.
Von Binärdarstellung zurück zu Text
Beim Dekodieren läuft der Vorgang rückwärts:
- Die Bitfolge wird in Bytes zerlegt.
- Die Bytes werden gemäß der erwarteten Zeichenkodierung gelesen.
- Die ermittelten Unicode-Codepoints werden als Zeichen dargestellt.
Sind Bitfolge und Kodierung nicht bekannt, ist das Ergebnis nicht eindeutig. Ein einzelner Bytewert kann in verschiedenen Codepages unterschiedliche Zeichen bezeichnen. Eine beliebige Bitfolge muss außerdem gar kein Text sein; sie könnte zu einem Bild, einer komprimierten Datei oder einem anderen Binärformat gehören.
Häufige Fehler
Falsche Richtung
Wer 01000001 in Text umwandeln möchte, braucht einen Binär-in-Text-Konverter. Wer normalen Text als Bits sehen möchte, verwendet Text in Binär.
Ungültige oder unvollständige Bytes
Eine Eingabe mit anderen Zeichen als 0 und 1 ist keine reine Binärfolge. Auch eine unvollständige Achtergruppe kann problematisch sein, wenn Bytewerte erwartet werden. Manche Zahlenkonverter dürfen führende Nullen ergänzen; bei Textbytes sollte die ursprüngliche Gruppierung erhalten bleiben.
Falsche Zeichenkodierung
Wird UTF-8 als eine ältere Ein-Byte-Codepage gelesen, entstehen typische Folgen aus mehreren falschen Zeichen. Das Problem liegt dann in der Interpretation der Bytes, nicht im Wort selbst.
Binärdarstellung mit Verschlüsselung verwechseln
Bits sind keine Sicherheitsmaßnahme. Jeder kann eine korrekt kodierte Bitfolge zurück in Text umwandeln. Gleiches gilt für Base64: Es ist eine Kodierung, keine Verschlüsselung.
Ein sinnvoller Lernweg
Probiere zuerst kurze ASCII-Wörter aus und prüfe einzelne Bytes. Füge anschließend Umlaute und Emoji hinzu. Vergleiche Zeichenanzahl und Byteanzahl. Der Text-in-Binär-Konverter arbeitet lokal im Browser und zeigt die tatsächliche UTF-8-Darstellung.
Wer die Begriffe genauer trennen möchte, findet im Artikel ASCII, Unicode und UTF-8 die Unterschiede zwischen Zeichensatz, Codepoint und Bytekodierung. Für die Praxis genügt zunächst diese Regel: Text bekommt seine Bedeutung durch die Zeichenkodierung; Binär ist nur eine mögliche Schreibweise der resultierenden Bytes.