5.14 Multibyte-Zeichen
Neben den Breitzeichen unterstützt der C-Standard mit den Multibyte-Zeichen noch eine zweite Möglichkeit, Zeichen zu repräsentieren, die nicht mehr in einem Byte darstellbar sind.
Hinweis |
Der C-Standard spezifiziert außer dem Basic-Zeichensatz und den Ausführungszeichensätzen keine bestimmte Zeichencodierung und auch keinen bestimmten Zeichensatz. Daher hängt es von der Implementierung ab, welche Zeichen zu den erweiterten Zeichen gehören und wie diese als Multibyte-Zeichen und Breitzeichen codiert sind. |
Im Gegensatz zu den Breitzeichen, die immer die gleiche Anzahl Bits verwenden, können Multibyte-Zeichen unterschiedlich lang sein. Wenn Sie beispielsweise bei einem Breitzeichen-Typ ein Zeichen vom Basic-Zeichensatz verwenden, hat das Breitzeichen immer eine feste Breite (abhängig von der Implementierung sind dies meistens 2 oder 4 Bytes). Bei einem Multibyte-Zeichen hingegen haben Zeichen vom Basic-Zeichensatz tatsächlich nur ein Byte.
Der Vorteil von Multibyte-Zeichen gegenüber Breitzeichen besteht klar darin, keinen Speicherplatz zu verschenken. Es macht beispielsweise keinen Sinn, wenn Sie für einen erweiterten Zeichensatz für jedes Zeichen vier Bytes verschwenden, auch wenn Sie vorwiegend nur Zeichen aus dem Basic-Zeichensatz verwenden würden, die ja eigentlich in einem Byte darstellbar sind. In Multibyte-Zeichen sind somit beispielsweise die ASCII-Zeichen in nur einem Byte gespeichert, und wenn Sie andere Zeichen benötigen, dann haben diese eben auch nur so viel Speicherplatz, wie diese wirklich benötigen.
Der Nachteil daran ist, dass bei den Multibyte-Zeichen die Anzahl der Bytes je nach benötigtem Zeichen variieren kann, was natürlich auch die Arbeit damit erheblich schwieriger macht.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.