Immer wieder stoße ich bei Kollegen, Dienstleistern und Freunden auf eine ordentliche Portion Halbwissen, wenn es um Zeichensätze und Kodierungen geht. Begriffe wie UTF-8 und Unicode werden oft synonym gebraucht, obwohl sie etwas anderes meinen. Hinzu kommen Mythen und Legenden UTF-8 sei nicht für asiatische Zeichensätze geeignet, dafür müsse XYZ verwendet werden.
Dabei ist das eigentlich ganz einfach. Unicode ist ein sogenannter Zeichensatz, bei dem jedem Zeichen ein bestimmter Code zugeordnet wird. Eigentlich also wie ein Setzkasten aus dem früher Buchdruck. Jedes Zeichen ist an einem bestimmten Platz. Wie diese Codes aussehen kann man in den Unicode-Tabellen nachlesen. Die entsprechenden Codes kann man jedoch auf unterschiedliche Art und Weise speichern. Je nach Art der Speicherung spricht man also von einer unterschiedlichen Kodierung der Zeichen. Generell geht es hier nur um technische Beschränkungen oder das sparen von Speicherplatz.
Es macht also keinen Unterschied ob ich mein Dokument in UTF-8, UTF-16, UTF-32 oder einer anderen Unicode-Kodierung speichere. Der Text wird nur größer oder kleiner. Es können aber dennoch alle Zeichen dargestellt werden, die Unicode als Zeichensatz zur Verfügung stellt.
Für fortgeschrittene hier noch ein Beispiel:
Beispiele sind dafür UTF-8 und UTF-16. UTF-16 verwendet immer zwei Byte Blöcke(16-Bit), um ein Zeichen zu speichern, was für asiatische Texte optimal sein soll. UTF-8 hingegen ist eher für europäische Sprachen optimiert. Da die hier benötigten Zeichen auch mit einem Byte(8-Bit) dargestellt werden können wird hier auch nur ein Byte verwendet. Taucht jedoch ein Zeichen auf, dass nicht mehr in diesem Bereich dargestellt werden kann müssen bis zu vier Byte verwendet werden. Das erste Byte gibt dann an, dass ein zwei Byte Zeichen folgt.
Abonnieren
Kommentare zum Post (Atom)
0 Kommentare:
Kommentar veröffentlichen