meta data for this page
  •  
Übersetzungen dieser Seite:
  • de-informal

Dies ist eine alte Version des Dokuments!


Zeichencodierung

Sämtliche Informationen in einem Digitalcomputer werden in Form von Bits, also als Zahlen dargestellt. Der Text, den du gerade liest, besteht aber aus Buchstaben. Damit dies möglich ist, gibt es verschiedene Möglichkeiten Buchstaben und andere Schriftzeichen durch Zahlen darzustellen. Man spricht hier auch von Zeichencodierung.

Da es viele verschiedene Methoden gibt, Text in Zahlen umzuwandeln und wieder zurück, kommt es häufig zu Codierungsfehlern wie im Bild dargestellt. Die gespeicherte Zahl wird bei der Umwandlung in Schriftzeichen einfach falsch interpretiert.

Empfohlene Lernstrategie

ASCII

Der einfachste Weg Text in Form von Zahlen abzuspeichern, ist eine Ersetzungstabelle, z. B. nach dem Prinzip A=1, B=2, C=3 usw. Auf ähnliche Weise funktioniert auch der American Standard Code for Information Interchange, kurz ASCII. In der ASCII-Tabelle werden die Zahlen von 0 - 127 (7 Bit) bestimmten Schriftzeichen zugeordnet.

Auf der Seite https://www.asciitable.com/ kannst du dir die Tabelle mit der Zuordnung zwischen Zahlen und Schriftzeichen anschauen. Die Zahlenwerte sind dort sowohl dezimal als auch hexadezimal angegeben. Achte vor allem auf den Bereich der Zahlenwerte 32 bis 127.

Etwas ausführlicher informiert dich der entsprechende Wikipedia-Artikel.

Im Alltag eines Informatikers ist es immer wieder hilfreich aus dem Kopf zu wissen, dass

  • von 0x30 - 0x39 die Ziffern von 0-9 codiert sind
  • bei 0x41 das große Alphabet beginnt und
  • bei 0x61 das kleine Alphabet beginnt.

ANSI-Zeichencode

Wie dir vielleicht aufgefallen ist, kann man mit ASCII keine Umlaute wie ä, ö oder ü codieren. In anderen Sprachen ist das ähnlich.

Aus diesem Grund wurde der ASCII-Zeichensatz von einer 7-Bit- auf eine 8-Bit-Darstellung erweitert, so dass 256 statt nur 128 Zeichen codiert werden können. Die Zeichen ab dem Wert 128 werden für verschiedene Sonderzeichen, unter anderem auch Umlaute verwendet.

Die gesamte Ersetzungstabelle des ANSI-Codes und einige erläuterungen kannst du dir auf code-knacker.de ansehen.

Unicode

Da auch der ANSI-Zeichensatz sehr beschränkt ist und ohne eine entsprechende Standardisierung internationale Kompatibilität kaum erreichbar ist, wurde der Unicode-Standard etabliert. In diesem sind nicht nur 256 Zeichen sondern fast 150.000 Zeichen codiert. Um alle diese Zeichen durchzunummerieren, würden die 8 Bit, mit denen man 256 verschiedene Zeichen darstellen konnte, nicht mehr ausreichen. Stattdessen würde man bis zu 4 Byte benötigen. Dies würde bedeuten, dass ein elektronisch gespeicherter Text 4 mal so viel Platz brauchen würde, wenn er in Unicode statt im ANSI-Zeichensatz codiert wird.

Bei der riesigen Zeichenmenge im Unicode-Standard ist es naheliegend, dass dieser in eine Unterstruktur bestehend aus Ebenen und Blöcken unterteilt wurde.

UTF-8

Damit das Platzproblem, das der riesige Unicode-Zeichensatz mit sich bringt im Alltag deutlich weniger Auswirkungen hat, wurde ein Verfahren entwickelt, mit dem sich Unicode-Zeichen auch mit weniger als 18 Bit eindeutig Codieren lassen. Dies wird durch das Unicode Transformation Format (UTF) ermöglicht. Am gebräuchlichsten ist die Variante UTF-8.

Die UTF-8-Codierung ermöglicht es, mit einer variablen Byte-Anzahl (1-4 Bytes) jedes Schriftzeichen im gespeicherten Text eindeutig einem Unicode-Zeichen zuzuordnen.

Einen kompakten aber gut nachvollziehbaren Überblick kann dir dieses Video über Zeichencodierung von ASCII bis UTF-8 geben.

Zusätzliche und alternative Materialien