Multibyte Character Set
aus Wikipedia, der freien Enzyklopädie
Multibyte Character Set (MBCS) bezeichnet Zeichenkodierungen bei denen abhängig vom zu speichernden Zeichen unterschiedlich viele Bytes verwendet werden. Die Bezeichnung character set (Zeichensatz) ist dabei irreführerend.
Dies ist zum Beispiel der Fall bei Zeichensätzen die chinesische Zeichen enthalten, von denen es tausende gibt. Mit einer Speicherung von lediglich einem Byte, mit dem westliche Zeichensätze auskommen, ist dies nicht möglich da so maximal 256 Zeichen gespeichert werden können. Zur Lösung dieses Problems werden mehrere Bytes verwendet. Dafür gibt es zwei Möglichkeiten: 1. Wird jedes Zeichen durch die gleiche Anzahl von Bytes repräsentiert oder 2. abhängig vom Zeichen durch eine unterschiedliche Anzahl von Bytes.
Würde man die ca. 90.000 − je nach Zählung − chinesischen Schriftzeichen nach Variante a kodieren müsste man jedes Zeichen mit 3 Bytes kodieren. Damit würden allerdings 99,5% des Speicherplatzes verschenkt werden, da so lediglich 0,5% von 224 ≈ 16,8 Mio., mit 3 Bytes möglichen, verschiedenen Zeichen genutzt werden.
Deswegen wird in solchen Fällen die 2. Variante vorgezogen. Dies wird dadurch realisiert das bestimmte Zeichen (z. B. ASCII-Zeichen) mit nur einem Byte gespeichert werden, andere wiederum mit einem Führungsbyte (leading byte), das angibt das noch ein weiteres Byte benötigt wird, welches wiederum ein Führungsbyte sein kann. Dadurch kann der Speicherplatz effektiver ausgenutzt werden, da abhängig vom Zeichen, 1, 2, … Bytes benutzt werden. Der Nachteil dieser Methode ist, dass, um Zeichen ab einer bestimmten Zeichenposition zu erhalten, die Zeichenkette von Anfang an durchlaufen werden muss, da die Zeichenposition unabhängig von der Byteposition ist. Dies ist bei nach der 1. Variante kodierten Zeichen nicht nötig, da die Byteposition, der Zeichenposition multipliziert der Bytes/Zeichen ist.
Die wichtigsten Vertreter von MBCS sind: UTF-8, UTF-7, Shift-JIS, Big5 und GB2312.