dedlfix: Zeichensatz und Zeichenkodierung

Beitrag lesen

echo $begrüßung;

Jedesmal, wenn ich denke, ich habe die Geschichte mit Zeichensatz und Zeichenkodierung endlich mal begriffen, werde ich wieder eines besseren belehrt. Ich hoffe, ich blicke es irgendwann doch noch einmal ... ;-)

Soll ich es mal in meinen Worten zu beschreiben versuchen?

Ein Zeichensatz ist erst einmal nichts weiter als eine Ansammlung von Zeichen. Als Beispiel verwende ich die 4 Spielkartensymbole ♣(Kreuz), ♠(Pik), ♥(Herz) und ♦(Karo) und gebe dem Zeichensatz den Namen "Kartenfarben".

Alle 4 Symbole treten in einer bestimmten Reihenfolge auf, aufgrund ihrer Wertigkeit beim Kartenspielen. In dieser Reihenfolge nummeriere ich sie mal durch: ♣ bekommt die 0, ♠ die 1, ♥ die 2 und ♦ die 3. Die Nummern sind abstrakt anzusehen. Mit einem konkreten Wert in einem bestimmten Dokumentenformat haben sie zunächst nichts zu tun. Verglichen mit Unicode sind diese Nummern die Code Points. Damit haben wir einen kodierten Zeichensatz (coded character set), den ich "Kartenfarbencode" nenne.

Nun will man diese Zeichen in einem Dokument angeben oder auch irgendwohin übertragen (z.B. in akustischer Form). Üblicherweise nimmt man für das Dokument eine Aneinanderreihung von Bytes. Wir müssen also die Codepoint-Werte in Byte-Werte umkodieren.

Farbe | Codepoint | Bytewert
------+-----------+---------
   ♣  |     0     |    00
   ♠  |     1     |    01
   ♥  |     2     |    02
   ♦  |     3     |    03

Somit haben wir eine Zeichenkodierung, eine Zuordnung von Zeichen zu einem bestimmten Bytewert. Als Namen vergebe ich KTF-8 (Kartenfarben-Transformations-Format mit 8 Bit).

Auch andere Kodierungen wären möglich, beispielsweise KTF-2 (2 Bit)

Farbe | Codepoint | KTF-2-Wert
------+-----------+---------
   ♣  |     0     |    00
   ♠  |     1     |    01
   ♥  |     2     |    10
   ♦  |     3     |    11

oder KTF-M (Morse(ähnlicher) Code) zur Übertragung in akustischer Form.

Farbe | Codepoint | KTF-2-Wert
------+-----------+---------
   ♣  |     0     |    ·
   ♠  |     1     |   --·
   ♥  |     2     |   ·-·
   ♦  |     3     |   ···

Damit diese Zeichen auch auf einen Bildschirm angezeigt werden können, brauchen wir Abbildungen. Hier wären das vier Bilder, zusammengefasst in einer Font-Datei. Nun kann man diese Symbole auch noch verschieden darstellen, verschnörkelt und bunt, einfarbig und glatt, französisch oder deutsch, und somit ergeben sich dann die Schriftarten.

echo "$verabschiedung $name";