unicode 字符集與它的編碼方式

unicode 字符集與它的編碼方式

ID:12032545

大?。?0.95 KB

頁數(shù):9頁

時間:2018-07-15

unicode 字符集與它的編碼方式_第1頁
unicode 字符集與它的編碼方式_第2頁
unicode 字符集與它的編碼方式_第3頁
unicode 字符集與它的編碼方式_第4頁
unicode 字符集與它的編碼方式_第5頁
資源描述:

《unicode 字符集與它的編碼方式》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、編碼字符集:編碼字符集是一個字符集,它為每一個字符分配一個唯一數(shù)字。Unicode標(biāo)準(zhǔn)的核心是一個編碼字符集,字母“A”的編碼為004116和字符“”的編碼為20AC16。Unicode標(biāo)準(zhǔn)始終使用十六進制數(shù)字,而且在書寫時在前面加上前綴“U+”,所以“A”的編碼書寫為“U+0041”。?1ASCII碼???我們知道,在計算機內(nèi)部,所有的信息最終都表示為一個二進制的字符串。每一個二進制位(bit)有0和1兩種狀態(tài),因此八個二進制位就可以組合出256種狀態(tài),這被稱為一個字節(jié)(byte)。也就是說,一個字節(jié)一共可以用來表示256種不同的狀態(tài),每一個狀態(tài)對應(yīng)

2、一個符號,就是256個符號,從0000000到11111111。??上個世紀(jì)60年代,美國制定了一套字符編碼,對英語字符與二進制位之間的關(guān)系,做了統(tǒng)一規(guī)定。這被稱為ASCII碼,一直沿用至今。ASCII碼一共規(guī)定了128個字符的編碼(準(zhǔn)確地說ASCII碼是一個編碼字符集),比如空格“SPACE”是32(二進制00100000),大寫的字母A是65(二進制01000001)。這128個符號(包括32個不能打印出來的控制符號),只占用了一個字節(jié)的后面7位,最前面的1位統(tǒng)一規(guī)定為0。后128個稱為擴展ASCII碼,目前許多基于x86的系統(tǒng)都支持使用擴展ASCI

3、I碼。??256個ASCII碼中的后128個擴展碼可定制用來表示特殊字符和非英語字符,GB2312就是利用這后面的128個擴展字符來表示漢字,[161,254]共94個字符來組成雙字節(jié)來表示簡體漢字字符表。2Unicode編碼字符集??光是英語字符ASCII編碼字符集是夠了,但是如果算上世界上其他的語言的字符,ASCII碼顯然不夠了,于是Unicode編碼字符集應(yīng)運而生。??Unicode用數(shù)字0-0x10FFFF來映射這些字符,最多可以容納1114112個字符,或者說有1114112個碼位。碼位就是可以分配給字符的數(shù)字。UTF-8、UTF-16、UTF

4、-32都是將數(shù)字轉(zhuǎn)?換到程序數(shù)據(jù)的編碼方案。?3UTF-8?http://zh.wikipedia.org/wiki/UTF-8?????Unicode編碼字符集只是統(tǒng)一定義了所有字符和它對應(yīng)Unicode編碼值,而我們的程序中怎么去存儲和讀取這個Unicode編碼值呢?顯然,你可以直接統(tǒng)一規(guī)定所有Unicode編碼值用四個字節(jié)來存儲。但是這樣的話,對于Unicode編碼字符集中的與ASCII碼表對應(yīng)的那部分字符(只需要一個字節(jié)來表示的Unicode編碼值)就有點浪費了。這樣,utf-8也就粉墨登場了。??UTF-8最大的一個特點,就是它是一種變長的編碼

5、方式。它可以使用1~4個字節(jié)表示一個符號,根據(jù)不同的符號而變化字節(jié)長度。Unicode符號范圍

6、UTF-8編碼方式(十六進制)

7、(二進制)--------------------+---------------------------------------------00000000?~?0000007F

8、0xxxxxxx??????????????--------7bit00000080?~?000007FF

9、110xxxxx10xxxxxx???-------11bit00000800?~?0000FFFF

10、1110xxxx10xxxxxx10xx

11、xxxx?-----16bit00010000?~?0010FFFF

12、11110xxx10xxxxxx10xxxxxx10xxxxxx?----21bitUTF-8編碼規(guī)則:1>對于Unicode編碼值的二進制位數(shù)小于等于7的情況,用一個字節(jié)來表示這個Unicode編碼值,字節(jié)的第一位設(shè)為0,后面7位為這個符號的unicode碼。因此對于英語字母,UTF-8編碼和ASCII碼是相同的。2>對于Unicode編碼值的二進制位數(shù)大于等于8并且小于等于11的情況,用兩個字節(jié)來表示,第一個字節(jié)的前兩位都設(shè)為1,第兩+1位設(shè)為0,第二個字節(jié)的前兩位設(shè)為10。剩下的

13、沒有提及的二進制位,全部填充這個符號對應(yīng)的unicode碼。3>?以此類推,對于需要n個utf-8字節(jié)來表示的的符號(n>1),第一個字節(jié)的前n位都設(shè)為1,第n+1位設(shè)為0,后面字節(jié)的前兩位一律設(shè)為10。剩下的沒有提及的二進制位,全部填充這個符號對應(yīng)的unicode碼。?utf-8編碼長度最大為四個字節(jié),所以最多只能表示Unicode編碼值的二進制數(shù)為21位的Unicode字符。4.UTF-16?????http://zh.wikipedia.org/wiki/UTF-16??16進制編碼范圍UTF-16表示方法(二進制)10進制碼范圍字節(jié)數(shù)量U+000

14、0---U+FFFFxxxxxxxxxxxxxxxx0-655352U+1000

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。