Ein Codierung ist eine eindeutige und umkehrbare Abbildung: Jedem Zeichen der Ursprungsmenge wird genau ein Zeichen der Zielmenge zugeordnet.
Z.B. lassen sich Zahlen auf verschiede Arten notieren. So kann man die Zahl 5 wie folgt «codieren»:
- fünf
- als Wort geschrieben
- 5
- mit Ziffern notiert
- V
- römische Schreibweise
- notiert als Strichliste
- mit Augen-Punkten auf dem Würfel
- ·····
- Morse-Code
- ⠼⠑
- Braille-Schreibweise (Blindenschrift)
Diese Codierung von Zahlen brauchen wir im Alltag, z.B. wenn wir rechnen oder eine Aufsatz schreiben, aber auch Jassen oder ein Würfelspiel machen.
Aufgabe «Codierung»
Welche Codierungen aus dem Alltag kennst du? Überlege zu zweit.
Da der Computer im Binärsystem arbeitet und Dinge digital, also mit Nullen und Einsen abspeichert, müssen die Dinge auch mit Binärzahlen codiert werden.
Die Zahl 5 kann man direkt im Binärsystem darstellen:
Möchten wir aber andere Dinge, z.B. Buchstaben, binär darstellen, so brauchen wir eine Codierung.
# Pentacode
Eine Textcodierung ordnet jedem Textzeichen eine eindeutige Bitfolge zu. Als Beispiel verwenden wir eine einfache Textcodierung, welche wir Pentacode nennen.
Code | Zeichen | Code | Zeichen | Code | Zeichen | Code | Zeichen |
---|---|---|---|---|---|---|---|
00000 | (SP) | 01000 | H | 10000 | P | 11000 | X |
00001 | A | 01001 | I | 10001 | Q | 11001 | Y |
00010 | B | 01010 | J | 10010 | R | 11010 | Z |
00011 | C | 01011 | K | 10011 | S | 11011 | . |
00100 | D | 01100 | L | 10100 | T | 11100 | , |
00101 | E | 01101 | M | 10101 | U | 11101 | ! |
00110 | F | 01110 | N | 10110 | V | 11110 | ? |
00111 | G | 01111 | O | 10111 | W | 11111 | - |
Aufgabe «Pentacode»
- Codiere das Wort
INFORMATIK
in Pentacode. - Decodiere die folgende Pentacode-Bitfolge:
01001 00011 01000 00000 00100 00101 01110 01011
00101 11100 00000 00001 01100 10011 01111 00000
00010 01001 01110 00000 01001 00011 01000 11011
2
3
Lösung «Pentacode»
INFORMATIK
in Pentacode:
01001 01110 00110 01111 10010 01101 00001 10100 01001 01011
Pentacode-Bitfolge:
ICH DENKE, ALSO BIN ICH
# ASCII
Der American Standard Code for Information Interchange oder kurz ASCII ist eine ursprünglich 7-bit-lange Zeichencodierung, die 1963 definiert wurde. Sie umfasst 95 normale Zeichen und 33 Steuerzeichen. Heute werden die 7-bit-Folgen in einem Byte abgespeichert, wobei das höchste Bit (ganz links) immer
Steuerzeichen sind spezielle Zeichen, welche beispielsweise einen Zeilen- oder Seitenumbruch darstellen.
ASCII ist ein sehr weit verbreiteter Standard, um Text zu codieren.
Die normalen Zeichen sind in der folgenden Tabelle aufgeführt:
Zeichen | Code | Zeichen | Code | Zeichen | Code |
---|---|---|---|---|---|
(leer) | 00100000 | @ | 01000000 | ` | 01100000 |
! | 00100001 | A | 01000001 | a | 01100001 |
" | 00100010 | B | 01000010 | b | 01100010 |
# | 00100011 | C | 01000011 | c | 01100011 |
$ | 00100100 | D | 01000100 | d | 01100100 |
% | 00100101 | E | 01000101 | e | 01100101 |
& | 00100110 | F | 01000110 | f | 01100110 |
’ | 00100111 | G | 01000111 | g | 01100111 |
( | 00101000 | H | 01001000 | h | 01101000 |
) | 00101001 | I | 01001001 | i | 01101001 |
* | 00101010 | J | 01001010 | j | 01101010 |
+ | 00101011 | K | 01001011 | k | 01101011 |
, | 00101100 | L | 01001100 | l | 01101100 |
- | 00101101 | M | 01001101 | m | 01101101 |
. | 00101110 | N | 01001110 | n | 01101110 |
/ | 00101111 | O | 01001111 | o | 01101111 |
0 | 00110000 | P | 01010000 | p | 01110000 |
1 | 00110001 | Q | 01010001 | q | 01110001 |
2 | 00110010 | R | 01010010 | r | 01110010 |
3 | 00110011 | S | 01010011 | s | 01110011 |
4 | 00110100 | T | 01010100 | t | 01110100 |
5 | 00110101 | U | 01010101 | u | 01110101 |
6 | 00110110 | V | 01010110 | v | 01110110 |
7 | 00110111 | Q | 01010111 | w | 01110111 |
8 | 00111000 | X | 01011000 | x | 01111000 |
9 | 00111001 | Y | 01011001 | y | 01111001 |
: | 00111010 | Z | 01011010 | z | 01111010 |
; | 00111011 | [ | 01011011 | { | 01111011 |
< | 00111100 | \ | 01011100 | | | 01111100 |
= | 00111101 | ] | 01011101 | } | 01111101 |
> | 00111110 | ^ | 01011110 | ~ | 01111110 |
? | 00111111 | _ | 01011111 |
Aufgabe «ASCII»
Ein in Pentacode codierter Text benötigt 5 kB Speicherplatz. Wie viel Speicherplatz benötigt der gleiche Text, wenn er ASCII-codiert wird?
Lösung Aufgabe «ASCII»
5kB in Pentacode ergibt 8000 Zeichen
8000 Zeichen in ASCII würden 8000 Bytes ergeben, also 8 kB
Oder mit einem Verhältnis:
ein Zeichen in Pentacode belegt 5 Bit, eines in ASCII 8 Bit
also rechnen wir 5 kB durch 5 mal 8 und erhalten 8 kB
(wir multiplizieren 5 kB mit dem Faktor 1.6)
# Unicode
Unicode (opens new window) ist ein internationaler Standard für Schriftzeichen. Das Unicode-Konsortium erstellt einen Katalog von allen bekannten Schriftzeichen. Die Version 13.0, welche im März 2020 veröffentlicht wurde, umfasst 143’859 Zeichen.
Aufgabe «Unicode»
Welche Zeichen kann dein Computer/Browser darstellen? Öffne die untenstehende Webseite und finde Zeichen, die nicht korrekt dargestellt werden.
https://www.ltg.ed.ac.uk/~richard/unicode-sample-3-2.html (opens new window)
Wieso können gewisse Zeichen nicht dargestellt werden?
Aufgabe «Komische Zeichen»
Vielleicht hast du schon mal, z.B. auf Instagram, so 𝓴𝓸𝓶𝓲𝓼𝓬𝓱 geschriebene Profilnamen angetroffen. Wie kann das funktionieren? Teste es hier aus:
https://qaz.wtf/u/convert.cgi?text=komisch (opens new window)