Zeichenketten übertragen
Bisher haben wir nur Bitfolgen übertragen, die jeweils 8 Bit (d.h. 1 Byte umfassen). Nun sollen Texte übertragen werden. Dazu muss der Sender jedes Zeichen des Textes zunächst in eine Bitfolge umwandeln. Diesen Vorgang nennt man Codieren. Es gibt mehrere Verfahren, die man zum Codieren verwenden könnte. Wir legen fest, dass wir den ASCII-Code verwenden:
Schritt | Bsp. für das Zeichen '!' |
---|---|
In der ASCII-Tabelle (siehe unten) suchen wir den ASCII-Code des Zeichens. | Das Zeichen '!' besitzt den ASCII-Code 33. |
Den ASCII-Code wandeln wir um in eine Binärzahl | 10 0001 |
Wir füllen die Binärzahl von links mit Nullen auf, so dass sie 8 Bit lang ist. | 0010 0001 |
Diese Bitfolge übergeben wir an die Funktion sendeByte. Diese Funktion ergänzt das Startbit und das Stoppbit | 1 0010 0001 0 |
Der Empfänger macht diese Schritt rückgängig.
ASCII-Tabelle (Ausschnitt)
Zeichen | ASCII-Code |
---|---|
! | 33 |
" | 34 |
# | 35 |
$ | 36 |
... | ... |
< | 60 |
= | 61 |
> | 62 |
? | 63 |
@ | 64 |
A | 65 |
B | 66 |
C | 67 |
D | 68 |
E | 69 |
F | 70 |
G | 71 |
H | 72 |
Aufgabe 1
Das Zeichen 'A' soll gesendet werden. Wandele es in eine Bitfolge um.
Aufgabe 2
Die Bitfolge 0011 1111 wurde empfangen. Ermittle das gesendete Zeichen
Aufgabe 3: Codieren und Decodieren in Python
Betrachte die folgenden Python-Dialoge. Beschreibe für jeden Befehl, welche Aufgabe der Befehl hat.
>>> zeichen = 'H'
>>> ord(zeichen)
72
>>> bin(72)
'0b1001000'
>>> bin(72)[2:]
'1001000'
>>> bin(72)[2:].zfill(8)
'01001000'
>>> int('01001000', 2)
72
>>> chr(72)
'H'