"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.