Rumah  >  Artikel  >  hujung hadapan web  >  Apakah hubungan antara pengekodan utf8 dan unicode? Apa bezanya?_Tutorial Asas

Apakah hubungan antara pengekodan utf8 dan unicode? Apa bezanya?_Tutorial Asas

WBOY
WBOYasal
2016-05-16 12:09:422046semak imbas

UTF8 == Format Transformasi Unikod -- 8 bit
ialah format penghantaran Unikod. Iaitu, tukar fail Unicode ke dalam aliran pengangkutan BYTE.

Program penukaran strim UTF8:
Input: integer tidak bertanda c - titik kod aksara yang akan dikodkan (masukkan nilai unikod)
Output: bait b1, b2,b3, b4 - jujukan bait yang dikodkan (keluarkan empat nilai BYTE)
Algoritma:
jika (cb1 = c>>0 & 0x7F | 0x00
b2 = null
b3 = null
b4 = nol
lain jika (cb1 = c>>6 & 0x1F | 0xC0
b2 = c>>0 & 0x3F | 0x80
b3 = null b4 = null
lain jika (cb1 = c>>12 & 0x0F | 0xE0 b2 = c>>6 & 0x3F | | >>6 & 0x3F |. 0x80
b4 = c>>0 & 0x3F |
unicode ialah jadual pengekodan, contohnya, menentukan kod untuk aksara Cina. Sama seperti GB2312-1980, GB18030, dsb., tetapi dengan set aksara yang berbeza.
================================
Kod unikod boleh ditukar kepada UTF8 dengan panjang satu BYTE, atau dua, tiga atau empat BYTE kod, bergantung pada nilai kod unicode. Oleh kerana nilai kod unicode Inggeris adalah kurang daripada 0x80, ia hanya perlu dihantar dalam UTF8 sebanyak satu BYTE, yang lebih pantas daripada menghantar dua BYTE unicode. UTF8 hanyalah kaedah "pengekodan semula" yang direka untuk menghantar unikod.
Untuk menukar UTF8 kepada unicode, hanya gunakan program yang saya berikan di atas untuk mengira semula.

UTF8 ialah penyelesaian peralihan daripada sistem ASCII sedia ada kepada sistem Unicode. UTF8 memastikan keserasian ASCII dan kemudian berkembang ke arah set aksara yang besar. Ini adalah penyelesaian yang disyorkan oleh Unicode. Walau bagaimanapun, kerana sudut penyelesaian masalah adalah berbeza, ia bukanlah penyelesaian yang baik kepada sistem Cina sedia ada. Pautan berikut memberikan pengetahuan awal terperinci tentang pengekodan UTF8 http://www.acnis.com/modules.php?name=ArticlE&file=article&sid=102 Rujukan:
http://www.acnis.com/modules. name=ArticlE&file=article&sid=102


Apakah itu Unicode. Matlamat asas Unicode adalah untuk menyatukan semua pengekodan, iaitu, ia mengandungi semua set aksara. Dengan cara ini, selagi sistem menyokong Unicode, ia boleh mengendalikan set aksara ini. Secara amnya Unicode mempunyai dua bait. Semua sistem pengendalian Windows semasa menyokong Unicode.

Apakah itu UTF8? UTF8 ialah pengekodan Unicode, iaitu set aksara yang dikodkan adalah konsisten dengan Unicode. Tetapi kaedah pengekodan adalah berbeza. Untuk aksara Inggeris, pengekodan UTF8 adalah sama seperti biasa, menggunakan satu bait. Tetapi untuk bahasa Cina, ia perlu diwakili oleh tiga bait (tiga dalam ingatan).

Kelemahan UTF8 dan Unicode ialah apabila menangani masalah seperti carian dan carian, algoritma kelihatan lebih kompleks dan tidak cekap (dalam ingatan).

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn