Movatterモバイル変換


[0]ホーム

URL:


Pergi ke kandungan
WikipediaEnsiklopedia Bebas
Cari

UTF-8

Daripada Wikipedia, ensiklopedia bebas.

UTF-8 (UCS/Format Transformasi Unicode (UTF) 8-bit) ialahpengekodan aksarapanjang boleh ubah untukUnicode, yang mampu mewakili mana-mana aksara dalam piawaian Unicode, tetapiserasi denganASCII. Atas sebab-sebab inilah, UTF-8 semakin diutamakan untuk pengekodane-mel,laman web,[1][2] dan apa-apa sahaja yangmenyimpan ataumenstrimkan aksaranya.

UTF-8 mengekodkan setiap aksara (titik kod) dalam 1 hingga 4oktet (bait 8-bit), yang mana pengekodan satu oktet hanya digunakan untuk 128 aksara US-ASCII.

Pasukan Petugas Kejuruteraan Internt (Internet Engineering Task Force, IETF) mewajibkan semuaprotokolInternet mengenal pasti pengekodan yang digunakan untuk data aksara, lebih-lebih lagi pengekodan aksara yang disokong mestilah termasuk sekali UTF-8.[3]Konsortium Mel Internet (Internet Mail Consortium, IMC) mencadangkan agar semua program e-mel mampu memaparkan dan menghasilkan mel dengan UTF-8.[4]

Huraian

[sunting |sunting sumber]

Pengekodan UTF-8 adalah berlebar boleh ubah, iaitu dari 1 hingga 4 bait. Setiap bait ada 0–4 bit satu diikuti oleh satu bit sifar untuk menandakan jenisnya. N bit satu menandakan bait pertama dalam urutan N-bait, kecuali tiada bit 1 menandakan urutan satu bait manakala satu bit 1 menandakan bait sambungan dalam urutan berbilang bait (ini dilakukan demi keserasian ASCII). Nilai skalatitik kod Unicode ialah penjeraitan bit-bit bukan kawalan. Dalam jadual berikut, angka sifar dan satu mewakili bit kawalan,x mewakili 8 bit terendah dalam nilai Unicode,y mewakili 8 bit di atasx, danz pula 8 bit di atasy.

UnicodeBait1Bait2Bait3Bait4Contoh
U+0000–U+007F0xxxxxxx'$'U+0024
00100100
0x24
U+0080–U+07FF110yyyxx10xxxxxx'¢'U+00A2
11000010,10100010
0xC2,0xA2
U+0800–U+FFFF1110yyyy10yyyyxx10xxxxxx'€'U+20AC
11100010,10000010,10101100
0xE2,0x82,0xAC
U+10000–U+10FFFF11110zzz10zzyyyy10yyyyxx10xxxxxx'𤭢'U+024B62
11110000,10100100,10101101,10100010
0xF0,0xA4,0xAD,0xA2

Oleh itu, 128 aksara pertama (US-ASCII) cuma memerlukan satu bait. 1,920 aksara seterusnya memerlukan dua bait untuk dikodkan, termasuk huruf-hurufrumi yang bertandadiakritik dan aksara-aksara dan abjad-abjadYunani,Cyril,Qipti,Armenia,Ibrani,Arab,Suryani danTāna. Tiga bait diperlukan untuk semua aksara yang lain dalamBasic Multilingual Plane (yang merangkumi hampir semua aksara yang kerap digunakan di dunia). Empat bait pula diperlukan untuk aksara-aksara dalamtahap-tahap Unicode yang lain, yang merangkumiaksara CJK yang jarang digunakan dan pelbagai tulisan bersejarah.

Dengan menyambungkan corak yang diberi di atas, bolehlah hendak menguruskan nombor-nombor yang lebih besar. Spesifikasi asal membenarkan urutan sehingga enam bait yang meliputi nombor-nombor sehingga 31 bit (had asalSet Aksara Sejagat). Namun begitu, pada November 2003, UTF-8 dihadkan olehRFC 3629 agar hanya menggunakan liputan takrifan Unicode yang asal, iaitu U+0000 to U+10FFFF.

Dalam jadual berikut, bait-bait yang bertanda merah tidak boleh sama sekali wujud dalam urutan UTF-8 yang sah; yang bertanda hijau diwakili bait tunggal; yang bertanda putih hanya boleh wujud sebagai bait pertama dalam urutan berbilang bait; dan yang bertanda jingga hanya boleh wujud sebagai bait kedua atau selanjutnya dalam urutan berbilang bait:

PerduaanPer-16-anPerpuluhanCatatan
00000000-0111111100-7F0-127US-ASCII (bait tunggal)
10000000-1011111180-BF128-191Bait kedua, ketiga atau keempat dalam urutan berbilang bait
11000000-11000001C0-C1192-193Pengekodan terlalu panjang: permulaan urutan 2-bait, tetapi bertitik kod ≤ 127
11000010-11011111C2-DF194-223Bermulanya urutan 2 bait
11100000-11101111E0-EF224-239Bermulanya urutan 3 bait
11110000-11110100F0-F4240-244Bermulanya urutan 4 bait
11110101-11110111F5-F7245-247Disekat olehRFC 3629: bermulanya urutan 4 bait untuk titik kod melebihi10FFFF
11111000-11111011F8-FB248-251Disekat olehRFC 3629: bermulanya urutan 5 bait
11111100-11111101FC-FD252-253Disekat olehRFC 3629: bermulanya urutan 6 bait
11111110-11111111FE-FF254-255Tidak sah: tidak ditakrifkan oleh spesifikasi asal UTF-8

Urutan bait tidak sah

[sunting |sunting sumber]

Bukan semua urutan bait adalah UTF-8 yang sah. Sesebuah penyahkod UTF-8 harus bersedia untuk berdepan dengan:

  • bait-bait bertanda merah di jadual atas
  • bait sambungan yang tidak dijangka
  • bait permulaan yang tidak diikuti bait sambungan yang mencukupi
  • urutan yang dinyahkodkan menjadi nilai yang sepatutnya menggunakan urutan yang lebih pendek (bentuk "terlalu panjang"/"overlong").

Rujukan

[sunting |sunting sumber]
  1. ^"Moving to Unicode 5.1". Official Google Blog. May 5, 2008. Dicapai pada2008-05-08.
  2. ^"Usage of character encodings for websites". W3Techs. Dicapai pada2009-09-25.
  3. ^Alvestrand, H. (1998), "IETF Policy on Character Sets and Languages",RFC 2277,Internet Engineering Task Force
  4. ^"Using International Characters in Internet Mail". Internet Mail Consortium. August 1, 1998. Diarkibkan daripadayang asal pada 2007-10-26. Dicapai pada2007-11-08.

Templat:Character encoding

Diambil daripada "https://ms.wikipedia.org/w/index.php?title=UTF-8&oldid=5208289"
Kategori:

[8]ページ先頭

©2009-2025 Movatter.jp