# 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 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 |