Unicode typeface support?
-
Servus,
in einem weißen C++ Buch lass ich vor nicht all zu langer Zeit
dass C++ keinen Zeichensatz vorschreibt. Die Klasse "String" bietet mir nun zwei chars. wchar und char. Im web stieß ich noch auf den Header uchar.h.So, was verwende ich nun für UTF-8, UTF-16, UTF32?
-
UTF-8 ist ein Byte, also meistens char.
UTF-16 sind zwei Bytes, auf Windows ein wchar_t, allgemein kann man aber auch ein short nehmen.
UTF-32 sind vier Bytes, meistens geht das mit einem int.Allerdings hast du dann immer noch das Problem, dass das Encodieren und Decodieren nicht automatisch geht. Oder anders gesagt:
Der C++ Standard unterstützt kein UTF. Es gibt allerdings verschiedene Libraries im Internet, welche dir bei so Sachen helfen können. Zum Beispiel von IBM:
http://www.icu-project.org/Alternativ kannst du auch selber was implementieren oder auf den nächsten C++ Standard warten. Der soll voraussichtlich 2009 verabschiedet werden, vielleicht gibt es im 2010, wenn wir optimistisch sind, einen standardkonformen Compiler.
Grüssli