Wir haben bereits mehrfach festgestellt, dass Computer nur Binärzahlen speichern können. Text war jedoch schon seit der Erfindung von Computerprogrammen ein wichtiger Bestandteil von Computeranwendungen, z.B. als Ablösung der mechanischen Schreibmaschine.
Im folgenden schauen wir uns an, wie Buchstaben und Texte verarbeitezt werden, damit sie vom Computer gespeichert und versendet werden können.
Einführendes Beispiel: Brailleschrift
Die Brailleschrift ist ein haptisches Schriftsystem, bei dem Texte durch Punktmuster auf erhabenen Oberflächen dargestellt werden. Jeder Buchstabe wird durch eine Kombination von 1 bis 6 Punkten repräsentiert.

Im folgenden Bild sind z.B. die Buchstaben A, B und C zu sehen.

Eine vollständige Liste der Schriftzeichen findest du übrigens hier.
Obwohl Brailleschrift natürlich nicht von Computern verwendet wird, ist sie den echten Textcodierungssystemen sehr nah. Erkennst du eine Eigenschaft dieser Schrift, welche Sie für den Computer bestens geeignet ist? Nimm dir ein par Minuten Zeit, darüber nachzudenken. Beantworte ausserdem folgende Fragen:
- Wieviele Zeichen (z.B. Buchstaben, Sonderzeichen) können mit der Brailleschrift codiert werden?
- Wie könnte man Gross- und Kleinbuchstaben einfach unterscheiden?
Falls du die Fragen nicht beantworten kannst, suche im Internet nach möglichen Antworten.
Ascii: Eine erste Textcodierung
ASCII (American Standard Code for Information Interchange) ist ein 7-Bit-Zeichencodierungsstandard, der 1963 entwickelt wurde. Da die Codierung 7 Bit pro Zeichen verwendet können damit $2^7=128$ Zeichen definiert werden. Im Grunde genommen ist ASCII einfach eine Tabelle, die einer Zahl von 0..127 ein Zeichen zuordnet. Du findest die Tabelle hier. ![[Pasted image 20251012133509.png]] ASCII war der erste weit verbreitete Standard zur digitalen Textdarstellung, hat aber Einschränkungen, da es nur das lateinische Alphabet und eine begrenzte Zeichenauswahl unterstützt. Mit der Verbreitung des Internets in den Jahren um 1990 gab es immer mehr Probleme mit ASCII. Jede Sprachregion hatte eigene Textcodierungen und so konnten z.B. Texte welche in Japan auf einem Computer geschrieben wurden in Europa nicht gelesen werden (und umgekehrt).
Unicode: Weltweite Textcodierung
Und so entwickelte sich zunehmend der Bedarf für eine eindeutige, weltweit funktionierende Textcodierung. Im Jahre 1991 wurde schlussendlich Unicode vorgeschlagen. Diese neue Codierung hat sich in den darauffolgenden Jahren zum weltweiten standard entwickelt. Heute umfasst Unicode über 143'000 Zeichen aus Sprachen der ganzen Welt.
Jedes Zeichen hat eine eindeutige Unicode-Nummer, welche häufig als Hexadezimalzahl dargestellt wird (um sie abzukürzen). Eine vollständige Liste findest du hier. Das Konzept ist also sehr ähnlich wie bei ASCII: Eine (sehr grosse) Tabelle, welche jedem Zeichen eine Zahl zuordnet. Der einzige Unterschied ist, dass Unicode nicht auf 128 Zeichen limitiert ist.
Interessant ist: Damit alte ASCII-Texte weiterhin gelesen werden können haben die 128 Zeichen von ASCII im Unicode die selbe Zahl bekommen. ASCII-Texte sind also kompatibel mit Unicode.
UTF-8: Vom Zeichen zu Binär
UTF-8 ist ein Code, der Unicode-Zeichen in Bits übersetzt. Ein Unicode-Zeichen wird mit ein bis vier Byte dargestellt.
| Zeichen | Unicode-Nummer | UTF-8 Bitmuster |
|---|---|---|
| A | 65 | 01000001 |
| ä | 228 | 11000011 10100100 |
| Schwarze Sonne mit Strahlen | 9728 | 11100010 10011000 10000000 |
| Affe 🐒 | 128018 | 11110000 10011111 10010000 10010010 |
Im Beispiel oben siehst du, dass Zeichen unterschiedlich viele Bytes für die Codierung benötigen (A -> 1, ä -> 2, 🐒 -> 4). Schau dir die ersten 3-4 Zeichen des Bitmusters an. Erkennst du einen Zusammenhang? |
Wie du vielleicht bemerkt hast entspricht die Anzahl von 1ern am Anfang der Anzahl Bytes (abgesehen von den Zeichen mit nur einem Byte). Diese schlaue Codierung hat viele Vorteile. So spart sie z.B. viele Daten, da die häufigsten Zeichen (Buchstaben) weniger Bytes benötigen.
UTF-8 ist heute der am weitesten verbreitete Zeichenkodierungsstandard und wird auf fast allen Webseiten und Apps verwendet, da er die Darstellung von Texten in praktisch allen Sprachen der Welt ermöglicht.
Zusammenfassung
Ein internationaler Codierungs-Standard ist extrem wichtig, damit Daten auf allen Computern der Erde dargestellt werden können. Es geht hier, ganz einfach ausgedrückt nur darum, das sich alle einig sind, welches Zeichen (z.B. "A") in welche Zahl (z.B. 65) und somit in welches Bit-Muster übersetzt wird.
ASCII war der erste Standard, dem diese Aufgabe einigermassen gelang. Da ASCII allerdings auf 128 Zeichen begrenzt ist, hat es keine Chance, all die Sprachen mit anderen Schriftzeichen darzustellen. Unicode hat sich die Aufgabe angenommen, allen Schriftzeichen der Welt eine eindeutige Zahl zuzuordnen. UTF-8 übersetzt die Unicode-Zeichen schliesslich in Bits. Durch die clevere Codierung mit unterschiedlich vielen Bits kann die Menge an Zeichen laufend erweitert werden.
Das folgende Video beleuchtet die Funktionsweise dieser Codierungen auf eine brilliante Weise und erwähnt noch weitere, spannende Details. Zum Beispiel wird noch aufgezeigt wie genial Unicode die weiterverwendung von ASCII ermöglicht. 🧠