Dies ist eine alte Version des Dokuments!
UTF8 ist eine Methode um Unicode Zeichen zu kodieren. ASCII kann 128 Zeichen darstellen, alles darüber ist sogenanntes Multibyte encoding. Ein „á“ wird durch die Zahl 255 repräsentiert. 255 kann aber nicht (ohne Zusatzinformationen) in einem Byte gespeichert werden - deshalb werden 2 Byte benutzt.
Bits of code point | First code point | Last code point | Bytes in sequence | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 |
---|---|---|---|---|---|---|---|---|---|
7 | U+0000 | U+007F | 1 | 0xxxxxxx | |||||
11 | U+0080 | U+07FF | 2 | 110xxxxx | 10xxxxxx | ||||
16 | U+0800 | U+FFFF | 3 | 1110xxxx | 10xxxxxx | 10xxxxxx | |||
21 | U+10000 | U+1FFFFF | 4 | 11110xxx | 10xxxxxx | 10xxxxxx | 10xxxxxx | ||
26 | U+200000 | U+3FFFFFF | 5 | 111110xx | 10xxxxxx | 10xxxxxx | 10xxxxxx | 10xxxxxx | |
31 | U+4000000 | U+7FFFFFFF | 6 | 1111110x | 10xxxxxx | 10xxxxxx | 10xxxxxx | 10xxxxxx | 10xxxxxx |
Die auf 1 gesetzten Bits im ersten Byte sind die Anzahl der insgesamt verwendeten Bytes.
Code point range | Encoding Format |
---|---|
U+0000 – U+D7FF | 16-bit: 1 code unit (0000000000000000 - 1101101111111111) |
U+E000 – U+FFFF | 16-bit: 1 code unit (1110000000000000 - 1111111111111111) |
U+10000 – U+10FFFF | 2×16-bit: surrogate pair: 110110xxxxxxxxxx + 110111xxxxxxxxxx |
Code point range | Encoding Format |
---|---|
U+00000000 – U+10FFFF | 32-bit: 1 code unit, zero-padded |
(e.g., U+0041 → 00000000 00000000 00000000 01000001) |