Kodierung

Zur Übermittlung von Daten müssen die einzelnen Dateneinheiten (Symbole) einer eindeutigen Ziffernfolge zugeordnet werden. Ein einfaches Beispiel mit Dezimalzahlen wäre die Nummerierung des deutschsprachigen Alphabetes nach dem Schema:

_ 00
A 01
B 02
C 03
D 04
...
W 23
X 24
Y 25
Z 26

Hiermit ist es möglich, einen Text ohne Berücksichtigung der Groß- und Kleinschreibung sowie den Dezimalziffern und Sonderzeichen und demnach ohne Interpunktion darzustellen. Soll das Wort SDTP kodiert werden, müssen einfach die Nummern für die vier Buchstaben, abhängig von ihrer Position im Alphabet, angegeben werden: 19042016

Diese Ziffernfolge lässt sich nun dadurch, dass es sich um eine Zahl handelt, verschlüsseln und verschleiern.

Bei dieser Kodierung wurde lediglich beachtet, dass die Funktionsweise leicht nachvollziehbar ist. Es handelt sich nämlich um eine äußerst ineffiziente Form der Kodierung, d. h. es werden mehr Ziffern benötigt, als notwendig wären. Ein besseres Verfahren, welches jetzt vorgestellt wird, benötigt zur Darstellung des Wortes SDTP nur den Code
 334558, was immerhin nur 75% der Ziffern sind. Bei längeren Texten sind häufig nur 60% der Ziffern benötig.

Hierbei wird das Phänomen der Buchstabenhäufigkeit ausgenutzt: Der Buchstabe E kommt 870 mal öfter in deutschsprachigen Texten vor, als der Buchstabe Q. Hierdurch werden Codes durchschnittlich ziffernärmer, wenn häufige Symbole mit weniger Ziffern dargestellt werden, als seltene. Mit der Huffman-Kodierung ist es beispielsweise möglich, die Buchstaben des Alphabets mit folgenden Binärziffern darzustellen:

E 111
N 000
I 1100
S 1010
R 1001
_ 1000
A 0111
T 0101
D 0011
H 11011
U 11010
L 01101
C 01100
G 01001
M 00101
O 00100
W 101101
B 101110
F 101100
K 010000
Z 1011111
P 1011110
V 0100011
ẞ 01000100
J 010001011
Y 0100010100
X 01000101011
Q 01000101010

Auch dies ist keine optimale Kodierung, da diese auch berücksichtigen müsste, dass bestimmte Kombinationen wie QU, ST, CH oder ZER häufiger vorkommen, als andere. Diese Kodierung befindet sich noch in Entwicklung, und wird vorgestellt, sobald ich sie fertiggestellt habe.

Der oben dargestellte Code 334558 basiert darauf, dass die Buchstabenfolge SDTP mit den Binärziffern aus der Liste dargestellt wurde (1010001101011011110), und diese Binärzahl in das Dezimalsystem umgewandelt wurde.