Zeichensatztabelle

Texte, Wörter und Zeichen werden in Computern durch Zahlen repräsentiert, daher ist es notwendig, eine Zuordnung von Zahlen und Zeichen herzustellen. Diese Zuordnung wird durch eine Zeichensatztabelle definiert, die den darstellbaren Zeichen und Steuerzeichen Zahlenwerte zuordnet. Alternative Begriffe für Zeichensatztabelle sind Codepage oder Character Map.

Während eine Zeichensatztabelle die Zuordnung von Zahlen zu Zeichen definiert, speichern Fonts das Aussehen der Zeichen. Für die Darstellung von Text auf Computern sind üblicherweise also sowohl eine Zeichensatztabelle wie auch ein Font notwendig.

Geschichte

Historische Zeichensatztabellen unterliegen häufig einer Beschränkung auf 256 Zeichen, was wiederum bedingt, dass eine Zeichensatztabelle mit 256 Zeichen neben dem lateinischen Alphabet meist nur ein weiteres Alphabet speichern kann. Die Verwendung dieser frühen, einfachen Zeichensatztabellen führte aber zu Problemen. In manchen Zeichensatztabellen sind nicht alle Zeichen ausreichend dokumentiert, oder bestimmte Einträge der Zeichensatztabelle werden unterschiedlich genutzt. Ferner kann ein Text häufig nur eine Zeichensatztabelle benutzen, wodurch es schwierig wird, Zeichen anderer Sprachen in den Text zu integrieren. Um diese Probleme zu lösen, wurde Unicode eingeführt. Im Gegensatz zu normalen Zeichensatztabellen trennt Unicode zwischen der Zuordnung von Zahlen (sog. Codepoints) zu Zeichen und der Codierung der Zeichen. Die verschiedenen Codierungsschemata von Unicode können aber ihrerseits wieder als Zeichensatztabellen verstanden werden.

Die Darstellung von Texten oder Dateinamen mit der falschen Zeichensatztabelle führt zur Darstellung falscher Zeichen. In deutschen Texten leiden darunter häufig die Umlaute oder das Eszett, auch wenn der Text im Wesentlichen lesbar bleibt. Texte mit anderen Schriftsystemen werden bei Anzeige mit der falschen Zeichensatztabelle hingegen unlesbar (Mojibake).

Beispiele

IBM PC (OEM) Zeichensatztabellen

Diese Zeichensatztabellen sollten nur zur Kompatibilität mit bestehenden Dokumenten und System genutzt werden. Für neue Systeme und Texte empfiehlt sich die Verwendung von Unicode.

DBCS/MBCS

Diese Codepages erlauben die Speicherung asiatischer Zeichen, bei denen die aus 8 Bit resultierenden 256 Zeichen nicht ausreichen. Dazu werden 16-Bit-Tupel verwendet (DBCS/MBCS), die bis zu 65536 unterschiedliche Zeichen erlauben.

Wichtige Zeichensatztabellen

Für effiziente Verarbeitung auf Computern werden Zeichensatztabellen durch Zahlen identifiziert. Die Nummerierung der Zeichensatztabellen ist allerdings nicht genormt, so dass verschiedene Computer oder Betriebssysteme unterschiedliche Zahlen verwenden können.

Codepage-Nummer Bedeutung Zeichencodierung
437 Die ursprüngliche Zeichensatztabelle des IBM-PC char (8 Bit)
720 Arabisches Alphabet char (8 Bit)
737 Griechisches Alphabet char (8 Bit)
775 Estnisches Alphabet, Litauisches Alphabet und Lettisches Alphabet char (8 Bit)
819 „Latin-1“, entspricht ISO 8859-1 char (8 Bit)
850 „Multilingual (DOS-Latin-1)“, westeuropäische Sprachen char (8 Bit)
852 Slawische Sprachen (Latin-2), zentraleuropäische und osteuropäische Sprachen char (8 Bit)
855 Kyrillisches Alphabet char (8 Bit)
857 Türkisches Alphabet char (8 Bit)
858 „Multilingual“ mit Eurozeichen char (8 Bit)
860 Lateinisches Alphabet mit portugiesischen Sonderzeichen char (8 Bit)
861 Isländisches Alphabet char (8 Bit)
862 Hebräisches Alphabet char (8 Bit)
863 Lateinisches Alphabet mit französischen Sonderzeichen char (8 Bit)
864 Arabisches Alphabet char (8 Bit)
865 Dänisch und Norwegisch – unterscheidet sich von 437 nur durch Ø (ø) anstelle von ¥ und ¢ char (8 Bit)
866 Kyrillisches Alphabet char (8 Bit)
869 Griechisches Alphabet char (8 Bit)
874 Thai-Alphabet char (8 Bit)
932 Japanische Schreibsysteme (DBCS) Gemischt 8- und 16 Bit
936 GBK für chinesische Kurzzeichen (DBCS) Gemischt 8- und 16 Bit
949 Hangul/Koreanische Schriftzeichen (DBCS) Gemischt 8- und 16 Bit
950 Chinesische Langzeichen (DBCS) Gemischt 8- und 16 Bit
1200 UTF-16 LE little-endian (Unicode) Tupel von 16-Bit-Worten
1201 UTF-16 BE big-endian (Unicode) Tupel von 16-Bit-Worten
1250 Zentral- und osteuropäische Sprachen char (8 Bit)
1251 Kyrillisches Alphabet char (8 Bit)
1252 Westeuropäische Sprachen char (8 Bit)
1253 Griechisches Alphabet char (8 Bit)
1254 Türkisches Alphabet char (8 Bit)
1255 Hebräisches Alphabet char (8 Bit)
1256 Arabisches Alphabet char (8 Bit)
1257 Baltische Sprachen char (8 Bit)
1258 Vietnamesische Sprachen char (8 Bit)
10000 Macintosh Roman char (8 Bit)
10007 Macintosh Kyrillisch char (8 Bit)
10029 Macintosh, Zentraleuropäische Sprachen char (8 Bit)
20127 US-ASCII char (7 Bit)
28591 ISO-8859-1 char (8 Bit)
65000 UTF-7 (Unicode) Tupel von 8-Bit-Worten
65001 UTF-8 (Unicode) Tupel von 8-Bit-Worten

Siehe auch