Unicode 汉字编码表
1 Unicode編碼表?
Unicode只有一個(gè)字符集,中、日、韓的三種文字占用了Unicode中0x3000到0x9FFF的部分??
? Unicode目前普遍采用的是UCS-2,它用兩個(gè)字節(jié)來編碼一個(gè)字符,?比如漢字"經(jīng)"的編碼是0x7ECF,注意字符編碼一般用十六進(jìn)制來?表示,為了與十進(jìn)制區(qū)分,十六進(jìn)制以0x開頭,0x7ECF轉(zhuǎn)換成十進(jìn)制?就是32463,UCS-2用兩個(gè)字節(jié)來編碼字符,兩個(gè)字節(jié)就是16位二進(jìn)制,?2的16次方等于65536,所以UCS-2最多能編碼65536個(gè)字符。?編碼從0到127的字符與ASCII編碼的字符一樣,比如字母"a"的Unicode?編碼是0x0061,十進(jìn)制是97,而"a"的ASCII編碼是0x61,十進(jìn)制也是97,?對(duì)于漢字的編碼,事實(shí)上Unicode對(duì)漢字支持不怎么好,這也是沒辦法的,?簡(jiǎn)體和繁體總共有六七萬(wàn)個(gè)漢字,而UCS-2最多能表示65536個(gè),才六萬(wàn)?多個(gè),所以Unicode只能排除一些幾乎不用的漢字,好在常用的簡(jiǎn)體漢字?也不過七千多個(gè),為了能表示所有漢字,Unicode也有UCS-4規(guī)范,就是用?4個(gè)字節(jié)來編碼字符,不過現(xiàn)在普遍采用的還是UCS-2,只用兩個(gè)字節(jié)來?編碼
為什么有了UTF-16, 還會(huì)有UTF-8呢? 干嘛搞這么多復(fù)雜的編碼呢? 一種編碼不很好么? 答案是為了節(jié)省帶寬, 因?yàn)樵缙诨ヂ?lián)網(wǎng)帶寬非常昂貴.
下面需要一些基礎(chǔ)知識(shí)
a. 1 bit = 2種兩種可能性
b. 1 byte = 8 bit
c. 1 byte = 2 ^ 8 次方 = 256 種可能性
d. 1 byte 可以給256個(gè)字符編碼
e. byte = 字節(jié)
ok了, 接著往下講
人們希望在一套系統(tǒng)里面能夠容納所有字符(Unicode), 但是一個(gè)字節(jié), 2^8次方(256)個(gè)字符是不夠的. 所以就有了 UTF-16, 2^16 (65536)個(gè)字符, 這樣就夠了. 一個(gè)字符對(duì)應(yīng)一個(gè)數(shù)字.
因?yàn)榇蟛糠只ヂ?lián)網(wǎng)資料是西文(英法德意西), 而這些西文用128個(gè)字符可以表示完, 人們想出一種辦法, 具體看 @邱昊宇 的標(biāo)識(shí)法.
結(jié)果是西文字符只用1 byte表示, 其他不常見的字符(中日韓阿拉伯文等), 用2-4 byte 表示.
因?yàn)樵缙诨ヂ?lián)網(wǎng)上大量都是英文和其他西文內(nèi)容, 所以這樣編碼, 是有助于減少文件大小, 從而減少需要的帶寬的. 而因?yàn)閁TF-8在早期網(wǎng)頁(yè)的通用性, 所以現(xiàn)在大家都沿用了下來.
從現(xiàn)在來看, 在今天圖片語(yǔ)音視頻占據(jù)了大量流量的互聯(lián)網(wǎng), UTF-8這個(gè)東西好像意義也不大了.
一句話,utf8是對(duì)unicode字符集進(jìn)行編碼的一種編碼方式
總結(jié)
以上是生活随笔為你收集整理的Unicode 汉字编码表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python编程课件_Python面向对
- 下一篇: lycos搜索引擎_常用的搜索引擎都有哪