Zeichenkodierung – Unicode, ASCII und UTF-8
InformatikDaten und BinärsystemAlter 15–16
Wird geladen …
Zum Starten anmeldenGeben Sie eine Textzeile ein und sehen Sie, dass jedes Zeichen einen Unicode-Codepunkt hat, den UTF-8 in 1 bis 4 Byte speichert. Tippen Sie auf ein Zeichen, um zu sehen, wie die Bits seines Codepunkts auf die Bytes verteilt werden und warum é, € und Emojis 2, 3 und 4 Byte brauchen. Der Bereich Dekodieren wandelt eine Folge hexadezimaler oder binärer Bytes zurück in Text und markiert ungültige Bytes; der Bereich Mojibake zeigt, wie Text zerfällt, wenn UTF-8-Bytes mit einer alten Ein-Byte-Kodierung gelesen werden.
Lektion: Textdaten: ASCII, Unicode, UTF-8-Kodierung, Zeichen und Bytes
Was sie zeigt
Computer speichern Text als Zahlen. Unicode gibt jedem Zeichen einen Codepunkt, geschrieben als U+ mit Hexadezimalziffern, während ASCII nur 128 Zeichen mit 7 Bit umfasst. UTF-8 speichert jeden Codepunkt in 1 bis 4 Byte: Das erste Byte beginnt mit 0, 110, 1110 oder 11110 und zeigt so die Länge an, jedes weitere Byte beginnt mit 10. ASCII-Text bleibt in UTF-8 daher unverändert, doch Umlaute, Akzentbuchstaben, Symbole und Emojis brauchen mehr Bytes als Zeichen. Liest man UTF-8-Bytes mit einer Ein-Byte-Kodierung, entsteht Zeichensalat, genannt Mojibake.
So funktioniert es
Wählen Sie ein Beispiel oder tippen Sie in das Feld Text und tippen Sie dann auf die Karte eines Zeichens, um seine Bits auf Bytes verteilt zu sehen; vergleichen Sie Zeichen- und Byteanzahl. Unter Bytes dekodieren klicken Sie auf Aus Text übernehmen oder geben Hex-Bytes ein, dann auf Fehlerhafte Bytes. Unter Mojibake wechseln Sie zwischen Windows-1252 und Latin-1.
Einstellbare Parameter
- Arbeitsbereich Text in Bytes kodieren, Bytes in Text dekodieren, Zeichensalat (Mojibake)
- Beispieltext Zeichen mit 1, 2, 3, 4 Byte, Nur ASCII, Lateinische Buchstaben mit Akzent, Symbole und Währungen, Emojis, Mehrere Schriftsysteme
- Bytes binär anzeigen
- Falsche Kodierung beim Lesen Windows-1252, Latin-1 (ISO-8859-1)
Fragen zum Erkunden
- Warum braucht é in UTF-8 2 Byte, e aber nur 1 Byte?
- Wie viele Byte belegt eine Zeile mit fünf Emojis in UTF-8?
- Warum erscheint das Wort Café auf manchen Webseiten als Café?