Lompat ke isi

UTF-16

Ensiklopedia Pengetahuan Universitas Islam Sultan Agung
Revisi sejak 23 Agustus 2026 22.56 oleh Maintenance script (bicara | kontrib) (Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi)
(beda) ← Revisi sebelumnya | Revisi terkini (beda) | Revisi selanjutnya → (beda)

UTF-16 (16-bit Unicode Transformation Format) adalah suatu pengkodean karakter Unicode yang mampu mengkodekan 1,112,064[1] angka (disebut code point) dalam jangkauan kode Unicode dari 0 sampai 0x10FFFF. Pengkodean ini adalah sebuah "variable-width encoding" karena code point itu dikodekan dengan satu atau dua code units 16-bit .

Universal Character Set UCS-2 (2-byte) mirip dengan pengkodean karakter yang sekarang digantikan oleh UTF-16 versi 2.0 sebagai standar Unicode pada bulan Juli 1996.[2] Menghasilkan format dengan panjang tetap (fixed-length format) hanya menggunakan code point sebagai unit kode 16-bit dan membuahkan hasil yang tepat sama dengan UTF-16 untuk 97% (63.488; bukan 65.536) dari seluruh code point dalam jangkauan 0-0xFFFF, termasuk semua karakter yang telah diberi nilai saat itu.

UTF-16 secara resmi didefinisikan dalam Annex Q dari standar internasional ISO/IEC 10646.[3] Juga disebut sebagai "The Unicode Standard" versi 2.0 atau lebih tinggi, serta dalam IETF's RFC 2781.

Contoh

code point glyph* character UTF-16 code units (hex) UTF-16BE code units (hex) UTF-16LE code units (hex)
U+007A z 007A 00, 7A 7A, 00
U+6C34 (water) 6C34 6C, 34 34, 6C
U+10000 (first non-BMP code point) D800, DC00 D8, 00, DC, 00 00, D8, 00, DC
U+1D11E D834, DD1E D8, 34, DD, 1E 34, D8, 1E, DD
U+10FFFD (last Unicode code point) DBFF, DFFD DB, FF, DF, FD FF, DB, FD, DF

* Appropriate font and software are required to see the correct glyphs.

Contoh prosedur pengkodean UTF-16

Karakter pada code point U+64321 (hexadecimal) akan dikodekan dalam UTF-16. Karena di atas U+FFFF, harus dikodekan dengan surrogate pair, sebagai berikut:

v  = 0x64321
v′ = v - 0x10000
   = 0x54321
   = 0101 0100 0011 0010 0001
vh = v′ >> 10
   = 01 0101 0000 // higher 10 bits of v′
vl = v′ & 0x3FF
   = 11 0010 0001 // lower  10 bits of v′
w1 = 0xD800 + vh
   = 1101 1000 0000 0000
   +        01 0101 0000
   = 1101 1001 0101 0000
   = 0xD950 // first code unit of UTF-16 encoding
w2 = 0xDC00 + vl
   = 1101 1100 0000 0000
   +        11 0010 0001
   = 1101 1111 0010 0001
   = 0xDF21 // second code unit of UTF-16 encoding

Lihat pula

Pranala luar

Referensi

  1. 2^{16} - 2 \times 2^{10} + 2^{10} \times 2^{10} , di mana 2^{16} adalah BMP, - 2 \times 2^{10} adalah interval U+D800–U+DFFF, dan 2^{10} \times 2^{10} adalah level (plane) tertinggi.
  2. Questions about encoding forms.
  3. ISO/IEC 10646-1:2000(E), pp. 890-892; ISO/IEC 10646:2003(E), pp. 1364-1366; ISO/IEC 10646:2012(E) Final Committee Draft (FCD), p. 2208; The FCD contains a reference to clauses 9 and 10, pp. 15-17.

Sumber dan atribusi

Konten artikel ini diadaptasi dari Wikipedia bahasa Indonesia, revisi 22228027 (2022-12-03T11:39:33Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.