Loading AI tools
Z Wikipedii, wolnej encyklopedii
UTF-16 (ang. 16-bit Unicode Transformation Format) – jeden ze sposobów kodowania znaków standardu Unicode. Sposób ten wymaga użycia szesnastobitowych słów, przy czym dla znaków na pozycjach poniżej U+10000 (dziesiętnie 65536), a dokładnie w zakresach od U+0000 do U+D7FF i U+E000 do U+FFFF, używane jest jedno słowo, którego wartość odpowiada dokładnie pozycji znaku w standardzie.
W systemach Windows kodowanie to jest najczęściej używane do wewnętrznego przechowywania komunikatów Unicode[1].
Dla znaków z wyższych pozycji używa się dwóch słów, pierwsze z nich należy do przedziału od U+D800 do U+DBFF, drugie natomiast od U+DC00 do U+DFFF. Oznacza to, iż znaki z zakresu od U+10000 do U+10FFFF kodowane są w następujący sposób:
Kodowanie to przedstawia poniższa tabela:
KOD | DC00 | DC01 | … | DFFF |
---|---|---|---|---|
D800 | 010000 | 010001 | … | 0103FF |
D801 | 010400 | 010401 | … | 0107FF |
⋮ | ⋮ | ⋮ | ⋱ | ⋮ |
DBFF | 10FC00 | 10FC01 | … | 10FFFF |
Na przykład znak o kodzie U+10000 zostanie zamieniony na sekwencję 0xD800 0xDC00, zaś znak o kodzie 0x10FFFF (górna granica unikodu) na 0xDBFF 0xDFFF. W standardzie Unicode pozycjom z przedziału od U+D800 do U+DFFF nie są przypisane żadne znaki, zatem każda sekwencja słów kodowych jest interpretowana jednoznacznie.
0x10000
od 0x10437
daje w wyniku 0x00437
, czyli binarnie 0000 0000 0100 0011 0111
.0000000001
0000110111
.0xD800
do pierwszej wartości: 0xD800
+ 0x0001
= 0xD801
.0xDC00
do drugiej wartości: 0xDC00
+ 0x0037
= 0xDC37
.D8 01 DC 37
.
Poniższa tabela pozwala zrozumieć sposób kodowana różnej długości numerów kodowych Unicode w UTF-16. Dodatkowe bity dodane przez kodowanie pokazane są na czarno
Unicode | Unicode binarnie | UTF-16 binarnie | UTF-16 szesnastkowo |
UTF-16 dla Big-endian |
UTF-16 dla Little-endian | |
---|---|---|---|---|---|---|
$ | U+0024 | 00000000 00100100 |
00000000 00100100 |
0024 |
00 24 |
24 00 |
€ | U+20AC | 00100000 10101100 |
00100000 10101100 |
20AC |
20 AC |
AC 20 |
𐐷 | U+10437 | 0001 00000100 00110111 |
11011000 00000001 11011100 00110111 |
D801 DC37 |
D8 01 DC 37 |
01 D8 37 DC |
𤭢 | U+24B62 | 0010 01001011 01100010 |
11011000 01010010 11011111 01100010 |
D852 DF62 |
D8 52 DF 62 |
52 D8 62 DF |
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.