Informatik

ASCII verstehen: Zeichen codieren und decodieren

ASCII verstehen: Zeichen codieren und decodieren
ASCII verstehen: Zeichen codieren und decodieren
Für Quiz, Lückentext, Lernkarten und Fortschritt ist JavaScript nötig. Alle Inhalte und Lösungen bleiben direkt lesbar.

ASCII ordnet Zeichen wie Buchstaben, Ziffern und Satzzeichen festen Zahlen und Bitmustern zu. Dadurch können verschiedene Computersysteme denselben Text eindeutig speichern, lesen und übertragen.

Auf dieser Seite lernst du, wie der 7-Bit-Code aufgebaut ist, wie du kurze Zeichenfolgen codierst und decodierst und wo seine Grenzen liegen.

Deine Lernziele

Hake ab, was du schon kannst — und komm am Ende hierher zurück!

Warum ASCII Zeichen eindeutig macht

Ein Computer speichert keine Buchstabenformen, sondern Bitmuster. Damit ein Bitmuster überall dasselbe Zeichen bedeutet, braucht es eine feste Zuordnung. Genau das leistet ASCII.

Definition

ASCII

ASCII steht für American Standard Code for Information Interchange. Der Standard ordnet jedem seiner 128 Codes genau eine Zahl von 0 bis 127 und ein 7-Bit-Muster zu.

Ein Bit kann 0 oder 1 sein. Bei 7 Stellen gibt es deshalb

$$2^7=128$$

verschiedene Bitmuster. Zum Vergleich: 8 Bit ermöglichen $2^8=256$ Bitmuster.

Merke

Bits erhalten ihre Bedeutung erst durch eine vereinbarte Codierung. Dasselbe Muster ist nur dann ein bestimmtes Zeichen, wenn alle dieselbe Codetabelle verwenden.

Teste dich
Frage 1 von 1LeichtWarum kann ASCII mit 7 Bit genau 128 Codes unterscheiden?
Lösung: Jede der 7 Stellen hat zwei Möglichkeiten; daher gilt $2^7=128$. — Ein Bit hat genau zwei mögliche Werte. Bei sieben unabhängigen Stellen entstehen $2\cdot2\cdot2\cdot2\cdot2\cdot2\cdot2=128$ Muster.
Wie du einen ASCII-Code liest

ASCII-Werte lassen sich binär, dezimal oder hexadezimal schreiben. Die Schreibweise ändert den Wert nicht.

Zeichenbinär als 8 Stellendezimalhexadezimal
A010000016541
S010100118353
C010000116743
I010010017349

ASCII selbst benutzt 7 Bit. In vielen Tabellen steht davor eine zusätzliche 0, damit der Code als 8-stelliges Byte erscheint. Bei A ist also 1000001 der 7-Bit-Code und 01000001 dieselbe Zahl mit ergänzter führender Null.

Weitere sichere Muster für Übungen:

Zeichenbinär als 8 Stellen
P01010000
U01010101
L01001100
a01100001
b01100010
000110000
100110001
200110010
Leerzeichen00100000
!00100001
?00111111
Teste dich
Frage 1 von 1LeichtWelche Aussage beschreibt 01000001 richtig?
Lösung: Es ist die 8-stellige Schreibweise des ASCII-Codes für A; die erste 0 ist ergänzt. — Führende Nullen verändern den Zahlenwert nicht. 1000001 und 01000001 bezeichnen hier denselben ASCII-Wert.
Wie du Text codierst und decodierst

Codieren bedeutet: Du gehst von Zeichen zu Codes. Decodieren bedeutet: Du gehst von Codes zurück zu Zeichen. Eine Zeichenfolge entsteht, indem du die Einzelcodes in derselben Reihenfolge aneinanderfügst.

Beispiel: PAUL codieren

Beispiel
  1. Suche P in der Tabelle: 01010000.
  2. Suche danach A: 01000001.
  3. Suche U: 01010101.
  4. Suche L: 01001100.

Das Ergebnis lautet:

01010000 01000001 01010101 01001100

Die Abstände zeigen nur die Grenzen zwischen den Zeichen. Die Reihenfolge bleibt genau wie im Wort.

Beispiel: drei Codes decodieren

Beispiel

Gegeben ist:

01000001 01100010 00110010

  1. Teile die Folge an den sichtbaren Abständen in drei Codes.
  2. Schlage jeden Code nach: 01000001 ist A, 01100010 ist b, 00110010 ist 2.
  3. Setze die Zeichen in derselben Reihenfolge zusammen.

Die decodierte Zeichenfolge ist Ab2.

Teste dich
Frage 1 von 2MittelWelcher Code stellt die Zeichenfolge A 2 dar? Zwischen A und 2 steht ein Leerzeichen.
Lösung: 01000001 00100000 00110010 — Codiere jedes Zeichen einzeln und behalte die Reihenfolge bei: A, Leerzeichen, 2.
Frage 2 von 2SchwerEine Folge enthält vier getrennte ASCII-Codes. Wie viele Zeichen erhältst du beim Decodieren?
Lösung: Vier Zeichen — Jeder vollständig abgegrenzte ASCII-Code steht für genau ein Zeichen. Vier Codeblöcke ergeben daher vier Zeichen.
Wo ASCII an Grenzen stößt

Ursprüngliches ASCII enthält Groß- und Kleinbuchstaben des englischen Alphabets, Ziffern, Satz- und Sonderzeichen sowie Steuerzeichen. Deutsche Umlaute wie ä, ö, ü und das ß gehören nicht dazu.

Der Bereich 0 bis 31 und der Code 127 sind Steuerzeichen. Sie wurden unter anderem für Gerätebefehle genutzt und werden nicht als sichtbare Schriftzeichen gedruckt. Die Codes 32 bis 126 sind druckbar; dazu gehört auch das Leerzeichen. Es ist zwar nicht sichtbar, zählt aber zu den druckbaren Zeichen.

Gut zu wissen

Es gibt nicht das eine erweiterte ASCII. Mehrere 8-Bit-Erweiterungen behalten die ersten 128 ASCII-Codes bei, belegen die zusätzlichen 128 Positionen aber unterschiedlich. Darum muss auch bei 8-Bit-Texten die verwendete Codierung bekannt sein.

UTF-8 ist eine moderne Zeichencodierung mit einem viel größeren Zeichenvorrat. Die ersten 128 Codes stimmen mit ASCII überein. Ein einfaches A hat deshalb in ASCII und UTF-8 denselben Code; Zeichen wie ä brauchen jedoch eine Codierung, die über ursprüngliches ASCII hinausgeht.

Teste dich
Frage 1 von 2MittelWelche Aussage über ä ist richtig?
Lösung: ä gehört nicht zum ursprünglichen 7-Bit-ASCII. — Mehrere 8-Bit-Erweiterungen belegen ihre zusätzlichen Positionen unterschiedlich. Deshalb reicht die Bezeichnung „erweitertes ASCII“ allein nicht für eine eindeutige Decodierung.
Frage 2 von 2SchwerZwei Systeme tauschen einen Wert über 127 aus, nennen aber nur „erweitertes ASCII“. Warum kann das problematisch sein?
Lösung: Verschiedene 8-Bit-Erweiterungen können demselben Wert unterschiedliche Zeichen zuordnen. — Für Werte von 0 bis 127 ist die ASCII-Zuordnung fest. Oberhalb davon muss die konkrete 8-Bit-Erweiterung bekannt sein.
Karteikasten
Karteikasten

Überlege zuerst selbst und drehe die Karte anschließend zum Prüfen um.

Alles auf einen Blick
Mindmap
  • ASCII
    • Zweck: eindeutiger Austausch von Zeichen
    • Aufbau: 7 Bit, 128 Codes
    • Darstellung: binär, dezimal oder hexadezimal
    • Anwendung: Zeichen codieren und Codes decodieren
    • Grenze: keine deutschen Umlaute im Original
    • Erweiterung: mehrere 8-Bit-Codes und UTF-8
Abschluss-Check
Teste dich
Frage 1 von 3LeichtWas ordnet ASCII jedem seiner Codes zu?
Lösung: Ein festes Zeichen oder eine Steuerfunktion — ASCII verbindet Zahlen beziehungsweise Bitmuster mit festgelegten Zeichen oder Steuerfunktionen.
Frage 2 von 3MittelDecodiere 01000001 00100001.
Lösung: A! — Der erste Code ergibt A, der zweite !. Beim Decodieren bleibt die Reihenfolge erhalten.
Frage 3 von 3SchwerEin System ergänzt bei jedem 7-Bit-ASCII-Code links eine 0. Ändert sich dadurch das Zeichen?
Lösung: Nein. Die führende Null ändert den Zahlenwert und damit den ASCII-Code nicht. — Ein 7-Bit-Muster kann mit einer führenden Null als 8-stelliges Muster notiert werden. Der Wert und die ASCII-Bedeutung bleiben gleich.

Passend dazu

Ausprobieren