Zum Inhalt springen

Informatik · Klasse 5–8 · aktualisiert

Unicode einfach erklärt: Codepunkte und UTF-8

Du lernst, wie Zeichen gespeichert werden, wie du Text mit einer Zeichentabelle umwandelst und wie du Ursachen für Textfehler erkennst.

0 von 9 Aufgaben gelöst

Unicode einfach erklärt: Codepunkte und UTF-8

Kurz gesagt

Unicode ordnet Zeichen Nummern zu, die Codepunkte heißen. UTF-8 legt fest, wie solche Nummern als Bytes gespeichert werden. Ein sichtbares Zeichen kann mehrere Codepunkte brauchen.

Du tippst ein Zeichen, doch ein Computer speichert dazu Zahlen. Wir verfolgen diesen Weg und verwenden eine kleine Zeichentabelle. Danach prüfst du, weshalb Text manchmal falsch aussieht.

Deine Lernziele

Hake ab, was du schon kannst. Löst du alle Aufgaben eines Abschnitts, hakt Termi das Ziel für dich ab.

4 Abschnitte

Unicode ist ein Standard, also eine gemeinsame Festlegung, für Zeichen und ihre Nummern. Eine solche Nummer heißt Codepunkt. Ein Bit ist eine einzelne 0 oder 1. Acht Bits bilden ein Byte. Eine Bytefolge besteht aus einem oder mehreren Bytes in einer bestimmten Reihenfolge.

Eine Codierung legt fest, wie aus Codepunkten gespeicherte Bytes werden. UTF-8 ist eine solche Codierung. UTF bedeutet „Unicode Transformation Format“, also ein Umwandlungsverfahren für Unicode. Die 8 verweist auf die acht Bits eines Bytes. UTF-8 braucht pro codiertem Codepunkt ein bis vier Bytes. Unicode enthält auch besondere Nummern, die für eine andere Unicode-Codierung reserviert sind. Sie heißen Surrogat-Codepunkte und werden nicht mit UTF-8 codiert.

Die Nummern und Bytes schreiben wir hier hexadezimal. Das ist eine Zahlenschreibweise mit 16 Ziffern: 0 bis 9 und A bis F. A bis F stehen für die Werte zehn bis fünfzehn. U+ kennzeichnet eine Unicode-Nummer in dieser Schreibweise. Bei den Byteangaben bilden jeweils zwei Ziffern ein Byte. Du brauchst die Werte hier nicht umzurechnen, sondern schlägst sie nach.

Definition

Codepunkt

Ein Codepunkt ist eine Nummer in Unicode. Die Nummer eines Zeichens und die dazu gespeicherten Bytes sind unterschiedliche Angaben.

Beispiel: Den griechischen Buchstaben „Ω“ speichern

  1. 1Das Zeichen „Ω“ ist ein griechischer Buchstabe.
  2. 2Unicode ordnet ihm den Codepunkt U+03A9 zu.
  3. 3UTF-8 macht daraus die Bytefolge CE A9.
  4. 4CE und A9 schreiben jeweils ein Byte. Zusammen sind es zwei Bytes.

Merke: Ein sichtbares Zeichen kann mehrere Codepunkte benötigen. Die Grenze von vier Bytes gilt pro codiertem Codepunkt, nicht pro sichtbarem Zeichen. In unserer Zeichentabelle verwenden wir für jedes Zeichen genau einen Codepunkt.

Teste dich

LeichtFür „Ω“ steht der Codepunkt U+03A9 fest. Welche Angabe nennt seine gespeicherten UTF-8-Bytes?

Alles auf einen Blick

Unicode

  • Weg

    Vom Zeichen geht es über den Codepunkt zur gespeicherten Bytefolge.

  • Unicode

    Der Standard ordnet Zeichen Codepunkte zu; ein sichtbares Zeichen kann mehrere benötigen.

  • UTF-8

    Pro codiertem Codepunkt werden ein bis vier Bytes gespeichert.

  • ASCII

    Die 128 Positionen stimmen mit den ersten Unicode-Positionen überein und haben in UTF-8 dieselben Bytewerte.

  • Tabelle

    Beim Codieren hängst du Bytefolgen aneinander; beim Decodieren ordnest du vollständige Bytefolgen wieder Zeichen zu.

  • Textfehler

    Fehlende Zeichen in einer Codierung, falsches Decodieren und fehlende Zeichenbilder sind verschiedene Ursachen. Das Aussehen allein beweist keine davon.

Musteraufgabe · Schritt für Schritt

„𝄞äΩ“ codieren und zur Kontrolle decodieren

  1. 1Wir verwenden die Zeichen und Codepunkte der Tabelle für „𝄞äΩ“.
  2. 2Für „𝄞“ findest du U+1D11E und die vier Bytes F0 9D 84 9E.
  3. 3Für „ä“ findest du U+00E4 und die zwei Bytes C3 A4.
  4. 4Für „Ω“ findest du U+03A9 und die zwei Bytes CE A9.
  5. 5In Zeichenreihenfolge lautet die ganze Bytefolge F0 9D 84 9E C3 A4 CE A9. Sie enthält acht Bytes.
  6. 6Zur Kontrolle liest du die vollständigen Gruppen zurück: F0 9D 84 9E → „𝄞“, C3 A4 → „ä“, CE A9 → „Ω“. Das ergibt wieder „𝄞äΩ“.

Fehler finden

Prüfe UTF-8 für „€y𝄞“ In einer Zeile steckt ein Fehler. Tippe sie an.

Lückentext

Wähl in jeder Lücke das passende Wort und prüf dann deine Antworten.

Die Angabe U+20AC nennt bei „€“ . Die UTF-8-Bytefolge E2 82 AC für „€“ besteht aus Bytes. Zum unveränderten Speichern von „Ω“ eignet sich .

Karteikasten

Erst selbst überlegen, dann umdrehen.

Übung mit Feedback

Abschluss-Check: Unicode

LeichtEine Datei soll „yy“ enthalten. Was gilt für ASCII und UTF-8?
MittelWelche Zeichenfolge ergibt sich aus CE A9 F0 9D 84 9E mit der Tabelle?
SchwerIn einem erfundenen Programm werden die UTF-8-Bytes C3 A4 CE A9 korrekt als „äΩ“ gelesen. Für „Ω“ hat die Schriftart kein Bild und zeigt ein Kästchen. Welche Änderung behebt diese Ursache?

Weiterlesen in Informatik