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