Informatik · Klasse 5–8 · aktualisiert
ASCII verstehen: Zeichen codieren und decodieren
Du lernst, warum 7 Bit genau 128 ASCII-Codes ergeben, codierst und decodierst kurze Texte mit einer Tabelle und unterscheidest ASCII von UTF-8.
0 von 11 Aufgaben gelöst
Kurz gesagt
ASCII ist ein Code, der jedem Zeichen ein Bitmuster aus genau 7 Bit zuordnet. Das ergibt 2 hoch 7 = 128 Codes. Mit einer Tabelle suchst du zu jedem Zeichen den Code oder zu jedem Code das Zeichen. UTF-8 und 8-Bit-Erweiterungen sind nicht ASCII.
Wenn du eine Nachricht schreibst, speichert dein Gerät jeden Buchstaben als Zahl. Damit alle Geräte dieselben Zahlen benutzen, gibt es Codes wie ASCII. Hier lernst du, wie dieser Code aufgebaut ist und wie du ihn selbst benutzt.
Deine Lernziele
Hake ab, was du schon kannst. Löst du alle Aufgaben eines Abschnitts, hakt Mela das Ziel für dich ab.
3 Abschnitte
Ein Bit kann nur zwei Werte haben: 0 oder 1.
ASCII ist ein Code. Er ordnet jedem Zeichen ein Bitmuster aus genau 7 Bit zu. Jedes der 7 Bit kann 0 oder 1 sein. Du rechnest: 2 · 2 · 2 · 2 · 2 · 2 · 2 = 2 hoch 7 = 128. Es gibt also 128 verschiedene Bitmuster. Man kann sie auch als die ganzen Zahlen 0 bis 127 lesen. Darum legt ASCII 128 Zeichen fest.
Von den 128 Zeichen sind 95 druckbar und 33 nicht druckbar. Die ersten 32 Codes (0 bis 31) sind für Steuerzeichen reserviert. Das sind keine Schriftzeichen. Sie steuern oder steuerten Geräte, zum Beispiel Drucker. Das Leerzeichen (Code 32) zählt als druckbar, zeigt aber nichts an. Auch der Code 127 ist kein Schriftzeichen, sondern das Löschzeichen (DEL).
Definition
Bit
Ein Bit ist eine Stelle, die nur 0 oder 1 sein kann. Ein Bitmuster ist eine Reihe von Bit, zum Beispiel 100 0001.
Beispiel: Erfundenes Beispiel: Wenige Bit
- 1Mit 1 Bit gibt es 2 Muster: 0 und 1.
- 2Mit 2 Bit gibt es 2 · 2 = 4 Muster: 00, 01, 10, 11.
- 3Mit 3 Bit gibt es 2 · 2 · 2 = 8 Muster.
- 4Mit 7 Bit gibt es 2 · 2 · 2 · 2 · 2 · 2 · 2 = 128 Muster.
Merke: 7 Bit ergeben 2 hoch 7 = 128 Bitmuster. Diese Muster entsprechen den Zahlen 0 bis 127.
Teste dich
Eine ASCII-Tabelle ordnet jedem Zeichen einen Code zu. Beim Codieren suchst du jedes Zeichen in der Tabelle und schreibst seinen Code auf. Beim Decodieren suchst du umgekehrt zu jedem Code das Zeichen.
Ein Code lässt sich als Dezimalzahl oder als Bitmuster angeben. Hier benutzen wir Dezimalzahlen. Die Tabelle unten zeigt nur eine Auswahl der Zeichen. Zu vier Buchstaben kennst du auch das 7-Bit-Muster: A ist 100 0001, B ist 100 0010, C ist 100 0011 und Z ist 101 1010.
Die Großbuchstaben stehen in alphabetischer Reihenfolge: Auf A (65), B (66), C (67) folgt Buchstabe für Buchstabe der nächste Code, bis Z (90). Das Leerzeichen hat einen eigenen Code und muss beim Codieren mitcodiert werden. Groß- und Kleinbuchstaben sind verschiedene Zeichen mit verschiedenen Codes.
| Zeichen | Dezimalcode |
|---|---|
| Leerzeichen | 32 |
| ! | 33 |
| . | 46 |
| 0 | 48 |
| 1 | 49 |
| 5 | 53 |
| 9 | 57 |
| A | 65 |
| B | 66 |
| C | 67 |
| H | 72 |
| Z | 90 |
| a | 97 |
| b | 98 |
| c | 99 |
| i | 105 |
| z | 122 |
Beispiel: Erfundenes Beispiel: ABC als Bitmuster
- 1A hat den Code 100 0001.
- 2B hat den Code 100 0010.
- 3C hat den Code 100 0011.
- 4ABC lautet also 100 0001 100 0010 100 0011.
Merke: Codieren: Zeichen suchen, Code aufschreiben. Decodieren: Code suchen, Zeichen aufschreiben. Das Leerzeichen und die Groß- und Kleinschreibung zählen mit.
Teste dich
ASCII hat keine deutschen Umlaute und keine Buchstabenvarianten anderer Sprachen. Ein Byte besteht aus 8 Bit. ASCII nutzt davon nur 7 Bit. Das nicht benutzte achte Bit wird fast immer genutzt, um ASCII zu einem 8-Bit-Code zu erweitern.
Diese 8-Bit-Erweiterungen stimmen mit ASCII weitgehend überein: Die ASCII-Zeichen haben dort dieselben Bitmuster. Die Erweiterungen fügen zusätzliche Zeichen hinzu, zum Beispiel Umlaute. Es gibt mehrere Varianten, etwa ISO 8859-1 für westeuropäische Sprachen. Keine dieser Erweiterungen ist aber ASCII, denn ASCII bezeichnet nur den einheitlichen 7-Bit-Code. Wurde eine Textdatei mit einer anderen Erweiterung erstellt als der, mit der sie angezeigt wird, sehen zum Beispiel die deutschen Umlaute falsch aus.
Auch 8 Bit bieten zu wenig Platz für alle Zeichen der menschlichen Schriftkultur. Darum wurde Unicode entwickelt. Damit können alle bislang von Menschen verwendeten Schriftzeichen dargestellt werden, sofern sie in den Unicode-Standard aufgenommen wurden. UTF-8 ist eine 8-Bit-Kodierung von Unicode. Sie ist zu ASCII abwärtskompatibel. Ein Zeichen kann dabei ein bis vier Byte einnehmen. Die ASCII-Zeichen brauchen in UTF-8 nur ein Byte. Zeichen wie ä, ß oder é brauchen zwei Byte. UTF-8 ist der De-facto-Standard für die Zeichenkodierung im Internet.
| Zeichen | Platz in UTF-8 |
|---|---|
| Ziffern und Buchstaben A bis Z, a bis z | 1 Byte |
| ä, ß, é | 2 Byte |
| Griechische, kyrillische, arabische Buchstaben | 2 Byte |
| Viele weitere Zeichen | 3 Byte |
| Seltene Zeichen | 4 Byte |
Beispiel: Falsch angezeigter Text
- 1Ein Text in UTF-8 enthält das Wort „Höhe“.
- 2Wird er mit ISO 8859-1 gelesen, erscheint „Höhe“.
- 3Die Buchstaben H, h und e bleiben richtig, nur das ö wird falsch.
Merke: ASCII ist nur der 7-Bit-Code. 8-Bit-Erweiterungen und UTF-8 enthalten die ASCII-Zeichen, sind aber selbst nicht ASCII.
Teste dich
Alles auf einen Blick
ASCII
7 Bit
ergeben 2 hoch 7 = 128 Bitmuster, gelesen als Zahlen 0 bis 127
Steuerzeichen
Die Codes 0 bis 31 sind keine Schriftzeichen
Codieren
Zeichen in der Tabelle suchen und den Code aufschreiben
Decodieren
Zum Code das Zeichen in der Tabelle suchen
Erweiterungen
8-Bit-Codes und UTF-8 enthalten die ASCII-Zeichen, sind aber nicht ASCII
Musteraufgabe · Schritt für Schritt
Hi 5. codieren und Z! decodieren
- 1Aufgabe: Codiere „Hi 5.“ mit der Tabelle. Es sind fünf Zeichen: H, i, Leerzeichen, 5 und Punkt.
- 2Tabelle: H = 72, i = 105, Leerzeichen = 32, 5 = 53, Punkt = 46
- 3Ergebnis: 72 105 32 53 46
- 4Umgekehrt: Decodiere 90 33. Code 90 ist Z, Code 33 ist !.
- 5Ergebnis: Z!
- 6Probe: Die 32 steht für das Leerzeichen. Ohne sie fehlt der Abstand.
Fehler finden
Prüfe die Codierung von Cab In einer Zeile steckt ein Fehler. Tippe sie an.
Fehler in Zeile 4Hier wurde der Code des Großbuchstabens B genommen. Richtig: b ist ein Kleinbuchstabe und hat den Code 98. „Cab“ lautet also 67 97 98.
Lückentext
Wähl in jeder Lücke das passende Wort und prüf dann deine Antworten.
Ein ASCII-Code besteht aus Bit. Der Großbuchstabe A hat den Dezimalcode . In UTF-8 braucht das Zeichen ä Byte.
Karteikasten
Erst selbst überlegen, dann umdrehen.
Übung mit Feedback