Nenne die fünf Arten der Codierung in der Technik und ihren Zweck.
Darstellungscodierung = „Formatierung“ (Zeichen rechnergeeignet darstellen);
Quellencodierung = „Komprimierung“ (Redundanz/Irrelevanz beseitigen);
Kanalcodierung = „Fehlersicherung“ (Redundanz hinzufügen);
Leitungscodierung = „Modulation“ (an Kanal anpassen);
Kryptographie = „Verschlüsselung“.
Was ist das Prinzip der Codierung (Encoding/Decoding)?
Eine eindeutige, umkehrbare Abbildung der Zeichen eines Zeichenvorrats (Alphabet A) auf Codewörter über einem Alphabet B.
Decodierung ist die Umkehrabbildung;
Woraus besteht ein Darstellungscode?
Aus dem Zeichensatz (Alphabet der Codewörter) und der Codierungsvorschrift (Abbildungsvorschrift auf Codewörter).
Man unterscheidet numerische Codes (Ziffern/Zahlen) und alphanumerische Codes (Zeichen).
Unterschied zwischen Zifferncode und Zahlencode?
Zifferncode = genau 10 binäre Codewörter für die Dezimalziffern 0–9 (z. B. BCD, 1-aus-10).
Zahlencode = bildet beliebig große Zahlenmengen ab (z. B. Dualcode, Oktalcode).
Beides sind meist Binärcodes über {0,1}.
Was ist ein Tetradencode? Was sind Pseudotetraden?
Tetradencode = Binärcode mit 10 Codewörtern aus je 4 Bit (Tetrade) für die Ziffern 0–9.
Von den 2^4=16 möglichen Tetraden bleiben 6 ungenutzt = Pseudotetraden.
Einschrittig: benachbarte Ziffern unterscheiden sich um genau 1 Bit.
Was ist die BCD-Codierung (8-4-2-1-Code)?
Binary Coded Decimal:
jede einzelne Dezimalziffer wird durch ihre 4-Bit-Dualkombination ersetzt.
Beispiel: 6294 → 0110 0010 1001 0100.
Nicht zu verwechseln mit der Dualzahl der Gesamtzahl!
Aufgabe: Stelle 1990 in BCD (8-4-2-1) und als Dualzahl dar – wo liegt der Unterschied?
BCD:
1=0001, 9=1001, 9=1001, 0=0000 → 0001 1001 1001 0000 (16 Bit).
Dualzahl:
1990 = 11111000110 (11 Bit).
BCD braucht mehr Bits, ist aber ziffernweise direkt lesbar.
Was ist der Gray-Code und wofür wird er verwendet?
Ein einschrittiger Binärcode:
aufeinanderfolgende Codewörter unterscheiden sich um GENAU ein Bit.
Anwendung: A/D-Wandler, Drehgeber, digitale Übertragung (PCM);
vermeidet Mehrfachfehler/Hazards beim Stellenwechsel.
Was ist das Besondere am Aiken-Code (2-4-2-1)?
Ein BCD-Tetradencode, der selbstkomplementierend ist:
das Neunerkomplement einer Ziffer erhält man durch bitweises Invertieren.
Stellenwertigkeiten 2-4-2-1;
0=0000,1=0001,2=0010,3=0011,4=0100,5=1011,6=1100,7=1101,8=1110,9=1111.
Was ist ein alphanumerischer Code? Nenne Beispiele.
Ein Code, der Buchstaben, Ziffern, Sonderzeichen und Piktogramme in geeignetem Format darstellt.
Beispiele: ASCII, EBCDIC, Unicode/UCS, Base64, Morse-Code, Baudot-Code.
Beschreibe den 7-Bit-ASCII-Code.
American Standard Code for Information Interchange:
7-Bit-Binärcode für 2^7=128 Zeichen (95 druckbare + 33 Steuerzeichen)
Beispiele: 'a'→0x61, 'A'→0x41, '0'→0x30, '?'→0x3F.
Wie entstand der „8-Bit-ASCII-Code“ und welches Problem brachte er?
Erweiterung auf 8 Bit (256 Zeichen) durch viele länder-/herstellerspezifische Codepages → große Kompatibilitätsprobleme.
Was ist Unicode und wie sind seine Codepunkte aufgebaut?
Universelle Zeichencodierung für alle Schriftsysteme, kompatibel zu ISO/IEC 10646 (UCS).
Jedes Zeichen hat einen Codepunkt, hexadezimal mit „U+“ geschrieben (mind. 4 Stellen),
Bereich U+0000 … U+10FFFF. — Gegliedert in 17 Planes mit je 2^16 = 65 536 Zeichen.
Was ist die Basic Multilingual Plane (BMP)?
Plane 0, der Unicode-Bereich U+0000 … U+FFFF (die gängigsten Schriftzeichen).
Beispiel: U+2261 = ≡
Zeichen außerhalb der BMP (ab U+10000) brauchen in UTF-8/16 mehr Platz.
Verfahren: Wie codiert UTF-8 einen Unicode-Codepunkt?
Variable Länge 1–4 Byte.
1 Byte (U+0000–007F): 0xxxxxxx.
2 Byte (–07FF): 110xxxxx 10xxxxxx.
3 Byte (–FFFF): 1110xxxx 10xxxxxx 10xxxxxx.
4 Byte (–10FFFF): 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx.
Codepunkt-Bits von rechts in die x-Plätze füllen, vorne mit Nullen auffüllen; Folgebytes beginnen mit 10.
Aufgabe: UTF-8-Codewort (hex) für U+00D8 (Ø)?
0xD8 = 011011000 → liegt in U+0080…07FF → 2 Byte.
Bits 00011011000 → 110 00011, 10 011000 = C3 98. — Ergebnis: C3 98.
Aufgabe: UTF-8-Codewort (hex) für U+20AC (€)?
U+20AC liegt in U+0800…FFFF → 3 Byte.
0010 0000 1010 1100 → 1110 0010, 10 000010, 10 101100 = E2 82 AC.
Aufgabe: UTF-8-Codewort (hex) für U+1F4A2 (💢)?
U+1F4A2 > U+FFFF → 4 Byte.
Ergebnis: F0 9F 92 A2.
Merke: alles ab U+10000 braucht 4 Byte in UTF-8.
Was ist UTF-32 und worin liegt sein Vor-/Nachteil?
Feste Länge 4 Byte; 1:1-Abbildung des Codepunkts (keine echte Codierung).
Vorteil: sofortige Decodierung mit fester Zeit pro Zeichen.
Nachteil: hoher Speicherbedarf (bis Faktor 4 bei BMP-Text), ineffizient.
Wie viele Bytes belegt das Zeichen 'a' in ISO 8859-15, UTF-8, UTF-16 und UTF-32?
ISO 8859-15: 1 Byte; UTF-8: 1 Byte (ASCII-Bereich); UTF-16: 2 Byte (eine Code-Unit); UTF-32: 4 Byte. — Merke: ASCII-Zeichen sind in UTF-8 1 Byte, in UTF-16 fix 2 Byte, in UTF-32 fix 4 Byte.
Was ist Big-Endian (BE) vs. Little-Endian (LE)?
Byte-Reihenfolge bei Mehr-Byte-Werten:
BE speichert das höchstwertige Byte zuerst,
LE das niederwertigste zuerst.
Beispiel 32-Bit-Wert 0x01020304: BE = 01 02 03 04, LE = 04 03 02 01.
Spielt die Endianness bei UTF-8 eine Rolle?
Nein.
UTF-8 ist eine Byte-Sequenz mit definierter Reihenfolge, daher endian-unabhängig.
Bei UTF-16/UTF-32 dagegen ist die Byte-Reihenfolge relevant (daher BOM und Varianten BE/LE).
Was ist eine BOM (Byte Order Mark)?
Das vorangestellte Zeichen U+FEFF, das die Byte-Reihenfolge (und das UTF-Format) kennzeichnet.
UTF-16LE: FF FE;
UTF-16BE: FE FF;
UTF-32LE: FF FE 00 00;
UTF-32BE: 00 00 FE FF.
Beschreibe den Morse-Code.
Binärer alphanumerischer Code mit Alphabet {Punkt, Strich} (Dit/Dah),
36 Codewörter (26 Buchstaben + 10 Ziffern).
Variable Länge (häufige Zeichen kurz),
NICHT präfixfrei → Pausen als Trennzeichen nötig.
Was leistet Base64 und wie funktioniert es grob?
Wandelt beliebige Binärdaten in druckbare ASCII-Zeichen (z. B. für E-Mail-Anhänge).
Je 3 Byte (24 Bit) werden in 4 Gruppen à 6 Bit zerlegt und auf 64 Zeichen (A–Z, a–z, 0–9, +, /) abgebildet; '=' füllt unvollständige Blöcke auf.
Aufgabe: Decodiere die Bitfolge 1100 0011 (8 Bit) auf verschiedene Weisen.
Als 4-Bit-Dualzahlen: 1100=12, 0011=3.
Als 8-Bit-Dualzahl: 11000011 = 195.
Als ISO 8859-1: 0xC3 = Ã.
Als Aiken-BCD: 1100=6, 0011=3 → „63“.
Knackpunkt: dieselbe Bitfolge hängt völlig von der angenommenen Codierung ab.
Was ist ein 1-aus-n-Code (z. B. 1-aus-10)?
Code, bei dem in jedem Codewort genau EINE Stelle 1 ist, der Rest 0.
Beispiel 1-aus-10: Ziffer 3 → 0001000000.
Stark fehlererkennend, aber speicheraufwändig.
Wie codiert UTF-16 Zeichen?
BMP-Zeichen (U+0000–FFFF): eine 16-Bit-Code-Unit (2 Byte).
Zeichen ab U+10000: zwei Code-Units (Surrogate-Paar, 4 Byte).
Byte-Reihenfolge relevant → Varianten UTF-16BE/LE (BOM).
Warum braucht BCD mehr Speicher als die reine Dualzahl?
BCD codiert jede Dezimalziffer einzeln mit 4 Bit, nutzt aber nur 10 von 16 Kombinationen (6 Pseudotetraden je Ziffer verschwendet).
Die Dualzahl der Gesamtzahl ist kompakter, aber nicht ziffernweise lesbar.
Zuletzt geändertvor 9 Tagen