UTF-8

"UCS Transformation Format 8 Bit"
(UCS = Universal Character Set)

Für das Verständnis dieses Artikels sollte man Grundwissen über Unicode (ISO 10646) haben.

Das Format UTF-8 beschreibt eine Darstellung der Unicode-Zeichen von 0 bis 10FFFF, wobei ein Zeichen in 1 bis 6 Byte dargestellt wird. Das Format ist speicherplatzsparend, wenn die Information überwiegend aus niederwertigen Zeichen besteht.

Die Zeichen des ASCII-Zeichensatzes (00-7F) werden mit einem Byte dargestellt, alle anderen Zeichen mit mehreren Byte. Die Umformung erfolgt nach folgendem Schema:

Unicode UCS-4 (sedezimal) #x UTF-8 (Byte-Folge, dual)
00 00 00 00 - 00 00 00 7F 7 0xxxxxxx
00 00 00 80 - 00 00 07 FF 11 110xxxxx 10xxxxxx
00 00 08 00 - 00 00 FF FF 16 1110xxxx 10xxxxxx 10xxxxxx
00 01 00 00 - 00 10 FF FF 21 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

Im linken Teil ist der Wertebereich der Unicode-Zeichen dargestellt, für die die Umformung gilt.

Die mittlere Spalte zeigt die Anzahl der berücksichtigten Dualstellen.

Die Dualstellen werden in der gleichen Reihenfolge auf die im rechten Teil dargestellten verschiedenen Byte übertragen. Die Einsen und Nullen sind fest.

UTF-8 ist ausführlich in "http://tools.ietf.org/html/rfc3629" dokumentiert.


Volker Seibt