Informatik

Kodierung einfach erklärt: Codes und Bits

Kodierung einfach erklärt: Codes und Bits
Kodierung einfach erklärt: Codes und Bits
Für Quiz, Lückentext, Lernkarten und Fortschritt ist JavaScript nötig. Alle Inhalte und Lösungen bleiben direkt lesbar.

Eine Codierung stellt Information nach einer festen Vereinbarung dar. Beim Codieren wird die Darstellung verändert; beim Decodieren wird daraus wieder die Information gewonnen. Ob Punkte, Farben oder Bits verwendet werden, ist zweitrangig – entscheidend ist, dass Sender und Empfänger dieselben Regeln kennen.

Deine Lernziele

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

Information und Darstellung unterscheiden

Die Uhrzeit 15:25 kann als Ziffernfolge auf einem Display erscheinen, mit Zeigern gezeigt, gesprochen oder ertastet werden. Die Information bleibt dieselbe: Es ist 15:25 Uhr. Nur ihre Darstellung ändert sich.

Definition

Code

Ein Code ist eine vereinbarte Zuordnung zwischen Information und Zeichen, Signalen oder Mustern. Die Vereinbarung legt fest, was eine Darstellung bedeutet.

Codieren heißt, Information nach dieser Vereinbarung darzustellen. Decodieren heißt, die Darstellung mithilfe derselben Vereinbarung zurückzuwandeln.

Merke

Information und Code sind nicht dasselbe. Dieselbe Information kann in mehreren Codes dargestellt werden.

Teste dich
Frage 1 von 2LeichtWelche Aussage beschreibt Codierung richtig?
Lösung: Eine Information wird nach einer vereinbarten Regel dargestellt. — Beim Codieren ändert sich die Form der Darstellung, nicht die gemeinte Information.
Frage 2 von 2MittelEine Uhr zeigt 15:25 mit Ziffern, eine andere mit Zeigern. Was ist gleich?
Lösung: Die dargestellte Uhrzeit — Beide Uhren stellen dieselbe Information mit unterschiedlichen Codes dar.
Einen eindeutigen Code verwenden

Nehmen wir diese Codetabelle:

BuchstabeZeichen
A
B
C
Beispiel

Die Nachricht CAB wird Zeichen für Zeichen codiert:

  1. C wird zu ■.
  2. A wird zu ●.
  3. B wird zu ▲.

Damit lautet die codierte Nachricht: ■ ● ▲.

Beim Decodieren gehst du rückwärts vor: ■ bedeutet C, ● bedeutet A und ▲ bedeutet B. So erhältst du wieder CAB.

Ein Code braucht eine klare Form und eine klare Bedeutung.

Definition

Syntax und Semantik

Die Syntax beschreibt, wie Zeichen angeordnet und getrennt werden dürfen. Die Semantik beschreibt, was die Zeichen bedeuten.

Fehlt eine Regel, kann eine Nachricht mehrdeutig werden. Angenommen, A wird als . und B als .. codiert. Dann kann ... für A+A+A, A+B oder B+A stehen. Erst eine eindeutige Trennung oder eine feste Codelänge beseitigt das Problem.

Lückentext

Wähle in jeder Lücke die passende Form und prüfe anschließend deine Antworten.

Beim Codieren ändert sich die . Die Regeln für die Anordnung heißen . Was ein Zeichen bedeutet, gehört zur .

Lösungen: Lücke 1: Darstellung; Lücke 2: Syntax; Lücke 3: Semantik. Darstellung, Syntax und Semantik erfüllen verschiedene Aufgaben: Der Code verändert die Darstellung, seine Syntax ordnet die Zeichen und seine Semantik legt ihre Bedeutung fest.
Codes passend zum Zweck wählen

Ein guter Code passt zum Empfänger, zum Medium und zur Situation.

  • Eine Ampel nutzt Farben und Farbkombinationen für wenige festgelegte Verkehrsinformationen.
  • Brailleschrift stellt Buchstaben durch tastbare Punktmuster dar.
  • Beim Morsecode stehen kurze und lange Signale für Buchstaben. Die Signale können zum Beispiel als Licht oder Ton übertragen werden.
  • Ein Strichcode stellt eine Nummer maschinenlesbar dar. Ein Kassensystem kann mit dieser Nummer zugehörige Produktdaten nachschlagen.
  • Ein QR-Code stellt Daten in einem zweidimensionalen Muster dar.
Beispiel

Im Morsecode steht · · · für S und — — — für O. Deshalb wird SOS so dargestellt:

· · · — — — · · ·

Die größeren Abstände trennen die Buchstaben. Ohne diese Trennung wäre die Folge schwerer eindeutig zu lesen.

Teste dich
Frage 1 von 2MittelWelcher Code eignet sich unmittelbar für eine Person, die Schrift ertasten soll?
Lösung: Brailleschrift — Die tastbaren Punktmuster der Brailleschrift passen zum Wahrnehmungsweg.
Frage 2 von 2SchwerWarum ist die Buchstabentrennung beim Morsecode wichtig?
Lösung: Sie zeigt, welche Punkte und Striche zu einem Buchstaben gehören. — Zum Decodieren muss klar sein, wo ein Codewort endet und das nächste beginnt.
Bits bekommen durch Regeln Bedeutung

Computer verarbeiten Daten mithilfe von zwei unterscheidbaren Zuständen. Diese werden als 0 und 1 dargestellt.

Definition

Bit

Ein Bit ist eine Stelle, die genau einen von zwei Werten annimmt: 0 oder 1. Acht Bits bilden ein Byte.

Eine Bitfolge hat nicht von selbst eine feste Bedeutung. 01000001 kann nur richtig gedeutet werden, wenn zusätzlich bekannt ist, welcher Code verwendet wird.

ASCII ist eine vereinbarte Zuordnung von Zeichen zu Zahlen. Der Buchstabe A hat den Dezimalwert 65. Binär geschrieben ist das 1000001. In einem Feld mit acht Bits wird vorne eine Null ergänzt: 01000001.

Beispiel

Für die Großbuchstaben H und I gilt in ASCII:

  • H: Dezimalzahl 72, binär 1001000
  • I: Dezimalzahl 73, binär 1001001

Damit kann HI als 1001000 1001001 codiert werden. Die Leerstelle trennt hier die beiden Zeichencodes. Beim Decodieren werden die Bitfolgen über die ASCII-Zuordnung wieder zu H und I.

Gut zu wissen

ASCII verwendet für seine ursprünglichen Zeichen sieben Bits. Eine Darstellung mit acht Stellen kann deshalb eine führende 0 enthalten. 1000001 und 01000001 bezeichnen in diesem Zusammenhang beide den ASCII-Wert von A; die vereinbarte Feldlänge erklärt den Unterschied.

Teste dich
Frage 1 von 2LeichtWas kann ein einzelnes Bit darstellen?
Lösung: Einen von zwei möglichen Werten — Ein Bit unterscheidet zwei Werte. Erst mehrere Bits und eine Codevereinbarung geben komplexeren Daten Bedeutung.
Frage 2 von 2MittelWarum reicht die Bitfolge 01000001 allein nicht immer zum Verstehen?
Lösung: Der verwendete Code und der Datentyp müssen bekannt sein. — Bits tragen ihre Bedeutung nicht selbst; Format und Kontext legen die Decodierung fest.
Zahlen und Bilder als Bitfolgen darstellen

Im Binärsystem haben die Stellen von rechts nach links die Werte 1, 2, 4, 8, 16 und so weiter. Eine 1 bedeutet: Dieser Stellenwert wird verwendet.

Beispiel

Die Binärzahl 1101 hat vier Stellen:

Bit1101
Stellenwert8421

Also gilt: 8 + 4 + 0 + 1 = 13. Damit ist 1101 die Binärdarstellung der Dezimalzahl 13.

Auch ein Schwarz-Weiß-Bild lässt sich codieren. Dazu braucht man mindestens diese Vereinbarungen:

  1. Bildbreite und Bildhöhe,
  2. Bedeutung der Bits, zum Beispiel 1 für Schwarz und 0 für Weiß,
  3. Reihenfolge der Pixel, zum Beispiel zeilenweise von links oben nach rechts unten.
Beispiel

Ein Bild mit 4 × 4 Pixeln enthält 16 Pixel. Wenn jedes Pixel genau ein Bit benötigt, beträgt der unkomprimierte Speicherbedarf:

4 × 4 × 1 Bit = 16 Bit = 2 Byte

Die Rechnung allein reicht aber nicht zum Anzeigen. Das Programm muss auch Breite, Höhe, Farbzuteilung und Lesereihenfolge kennen.

Teste dich
Frage 1 von 2MittelWelchen Dezimalwert hat die Binärzahl 1101?
Lösung: 13 — Bei 1101 sind die Stellenwerte 8, 4 und 1 eingeschaltet: 8 + 4 + 1 = 13.
Frage 2 von 2SchwerZwei Programme erhalten dieselben 16 Bildbits, aber unterschiedliche Bildbreiten. Was kann passieren?
Lösung: Sie ordnen die Bits zu unterschiedlich geformten Bildern an. — Datenbits brauchen Formatangaben. Bei Bildern gehören dazu besonders Breite, Höhe, Farbzuteilung und Pixelreihenfolge.
Einen eigenen Code prüfen

Du kannst einen kleinen Code selbst entwickeln. Ziel ist nicht nur eine hübsche Darstellung, sondern eine Nachricht, die jemand anderes zuverlässig zurückübersetzen kann.

  1. Lege das Alphabet fest, zum Beispiel A, B, C und D.
  2. Weise jedem Buchstaben genau ein unterscheidbares Codewort zu.
  3. Bestimme die Syntax: feste Länge oder eindeutige Trennzeichen.
  4. Schreibe die Codetabelle vollständig auf.
  5. Codiere eine Testnachricht.
  6. Lass die Nachricht nur mit der Tabelle decodieren.
  7. Verbessere die Regeln, falls mehrere Lösungen möglich sind.
Beispiel

Ein Code mit fester Länge von zwei Bits kann vier Buchstaben unterscheiden:

BuchstabeCodewort
A00
B01
C10
D11

Die Nachricht BAD wird zu 01 00 11. Weil jedes Codewort zwei Bits lang ist, kann die Folge eindeutig in B, A und D zerlegt werden.

Teste dich
Frage 1 von 2MittelDecodiere 10 01 11 mit der Tabelle aus dem Beispiel.
Lösung: CBD — Lies jedes Zwei-Bit-Codewort einzeln: 10 ist C, 01 ist B und 11 ist D.
Frage 2 von 2SchwerEine Mitschülerin kann deine Nachricht auf zwei Arten decodieren. Welche Verbesserung hilft am direktesten?
Lösung: Codewörter fester Länge oder eindeutige Trennzeichen festlegen — Eindeutige Grenzen und eindeutige Zuordnungen sorgen dafür, dass beim Decodieren nur eine Nachricht entsteht.
Karteikasten
Karteikasten

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

Alles auf einen Blick
Mindmap
  • Kodierung
    • Information und Darstellung
      • dieselbe Information in verschiedenen Codes
      • Codieren und Decodieren
    • Vereinbarung
      • Syntax ordnet Zeichen
      • Semantik gibt Bedeutung
      • Eindeutigkeit verhindert mehrere Lesarten
    • Zweck und Empfänger
      • sichtbar, hörbar oder tastbar
      • für Menschen oder Maschinen
    • Digitale Darstellung
      • Bits als 0 und 1
      • ASCII für Zeichen
      • Formatangaben für Bilder
Abschluss-Check
Teste dich
Frage 1 von 3LeichtWas brauchst du zum zuverlässigen Decodieren?
Lösung: Die codierten Daten und die passende Codevereinbarung — Ohne passende Vereinbarung ist nicht festgelegt, wie die Darstellung zurückübersetzt werden soll.
Frage 2 von 3MittelMit A = 00, B = 01, C = 10, D = 11: Welche Bitfolge codiert DAC?
Lösung: 11 00 10 — Codiere nacheinander D, A und C: 11, 00, 10.
Frage 3 von 3SchwerEin System kennt die Pixelbits eines Bildes, aber nicht Breite und Lesereihenfolge. Warum ist das Bild nicht eindeutig rekonstruierbar?
Lösung: Es ist unklar, wo Zeilen enden und in welcher Reihenfolge die Pixel angeordnet werden. — Die Bits liefern Pixelwerte. Erst Formatregeln wie Maße, Farbzuteilung und Reihenfolge machen daraus ein bestimmtes Bild.

Du hast das Lernziel erreicht, wenn du eine Information in zwei Codes darstellen, eine kurze Nachricht eindeutig zurückübersetzen und bei einem fehlerhaften Code die fehlende Regel benennen kannst.

Passend dazu

Ausprobieren