dedlfix: Utf-8 Unicode

Beitrag lesen

Tach!

ein Zeichensatz beschreibt die äußere Form, also wie etwas dargestellt wird (optisch).

Nö, das ist im Font geregelt. Ein Zeichensatz sagt nur aus, welche Zeichen enthalten sind. Ob es konkret auf dem Bildschirm ohne Schnörkel oder mit Serifen oder sonstwie dargestellt wird, ist Sache der Schriftart. Die Font-Datei enthält nun zu einer mehr oder weniger großen Menge von Zeichen die technischen Informationen, wie es auf den Bildschirm (oder Druckerpapier) zu malen ist.

Ein Zeichen hat allerdings implizit eine gewisse Form, sonst könnte man es nicht als solches erkennen. Das nützt aber einem Computer nicht viel, der braucht irgendwelche Daten zu diesem Zeichen. Und davon gibt es eine Menge unterschiedlicher Arten, je nachdem, was man tun will (Datenverarbeitung, Zeichen auf Bildschirm bringen, optische Darstellung von Zeichen erkennen, was auch immer).

Unicode im allgemeinen Gebrauch ist auf ~1 Mio Zeichen begrenzt. Diese Restriktion hat auch was mit den ganzen Transformationen zu tun, um ein gewisses Maß an Integration zu gewährleisten (UTF-8, UTF-16).

Welchen praktischen Gebrauch meinst du? Könntest du etwas konkreter erklären, was das bedeutet?

Neben UTF wird dir auch noch UCS ins Auge gesprungen sein, das liegt an den zwei Instanzen, die sich für Unicode-Definitionen zuständig fühlen.

Ja, kann man aber vernachlässigen.

Bei Windows-Systemen triffst du häufig auf UTF-16, Bei Unix-Systemen auf UTF-32/UTF-8, und im Internet häufig auf UTF-8. Der Grund hierfür sind die bereitgestellten APIs der unterschiedlichen Systeme. UTF-8 eignet sich besonders für die Übermittlung von Unicode-Daten, da man hier nicht auf eine mögliche Byte-Order achten muss.

Und vor allem, weil es kompatibel zu ASCII ist, und man so wenigstens auf lateinischen Buchstaben basierende Texte größtenteils lesen kann.

Ab Visual Studio 2013 wird übrigens auf Multibyte-Strings verzichtet, dass ist eine spezielle Form von Kodierung auf Windows-Systemen.

Meinst du MBCS (Multibyte Character Sets)? Nun, da muss man zu Verständnis dieses Satzes etwas weiter ausholen. Systeme mit mehr als 256 Zeichen (zum Beispiel Chinesisch und Japanisch) benötigen logischerweise auch mehr als 256 Möglichkeiten, kommen also mit 1-Byte-Kodierungen nicht aus. Deswegen haben sich neben den für die (w/r)estliche Welt spezialisierten 1-Byte-Zeichenkodierungen auch asiatische Pendants mit mehr als 1 Byte pro Zeichen gebildet. Die Unterstützung für diese ist allerdings gemäß http://msdn.microsoft.com/en-us/library/vstudio/5z097dxa(v=vs.120).aspx nicht eingestellt sondern nur in ein Add-On verschoben worden. Da es sich um MFC-Bibliotheken handelt, betrifft das im Prinzip auch nur "herkömmliche" Programme, für .NET war ja schon immer Unicode die Grundlage.

dedlfix.