久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

04.詳解編碼原理——編碼學下部分

 xiejunxy 2019-02-06

本節(jié)知識體系

Unicode字符集(Unicode字符編碼)

代碼點

Unicode標準的本意很簡單:希望給世界上每一種文字系統(tǒng)的每一個字符,都分配一個唯一的整數,,這些整數叫做代碼點(Code Points),。也叫字符的編碼,字符的編號,。

代碼空間

所有的代碼點構成一個代碼空間(Code Space),,根據Unicode定義,總共有1,114,112個代碼點,,編號從0x0到0x10FFFF,。換句話說,如果每個代碼點都能夠代表一個有效字符的話,,Unicode標準最多能夠編碼1,114,112,,也就是大概110多萬個字符。最新的Unicode標準(7.0)已經給超過11萬個字符分配了代碼點,。

代碼平面

Unicode標準把代碼點分成了17個代碼平面(Code Plane),,編號為#0到#16,。每個代碼平面包含65,536(2^16)個代碼點(17*65,536=1,114,112)。其中,,Plane#0叫做基本多語言平面(Basic Multilingual Plane,,BMP),其余平面叫做補充平面(Supplementary Planes),。Unicode7.0只使用了17個平面中的6個,,并且給這6個平面起了名字,如下圖所示:

ASCII總共有128個字符,,占據了BMP的前128個代碼點。

代碼組

因為兩個使用了相同的字庫字碼,。Unicode(和UCS)使用4字節(jié)編碼字符,,但是高字節(jié)的最高一位不參與編碼,也就是31位,。Unicode(UCS)31位bit如何劃分,?unicode(UCS)根據字節(jié)的先后順序將四個字節(jié)分為四個部分。如下:

第一個字節(jié)后七位用來分組,,共128組,,第二個字節(jié)用來分平面,共256平面,,每個平面有256行,,每行有256碼位,也就是每個平面有65536(2的16次方)個碼位,,碼位中字符的編碼并不是順序編碼,,中間有空碼位。這種分組分面的做法原本是UCS的做法,,但后來統(tǒng)一后,,Unicode也采用了這種方式。

Unicode只使用第0組(group)的第0-16平面(第0組的第0平面叫做基本平面,,其他平面叫做輔助平面),,其他平面不使用,那UCS也保證不給其他平面中的碼位賦值,,中文常見字符主要位于第二平面而且第二平面上貌似也只有中文,,不常見字符在后面其他平面也有分布,所以,,使用UTF-8編碼的話,,中文可能使用3-4個字節(jié)編碼,使用UTF-16編碼,,中文使用4個字節(jié)編碼,,使用UTF-32編碼,中文使用4字節(jié)編碼。

在Unicode碼表中,,使用了UCS的第0組前17個面,,而主要字符又集中在第0組的第0面(基本平面),也就是說最常用的字符1-3個字節(jié)就能夠表示,,對于一些特定語言的字符則使用的更少,,如英語使用1個字節(jié)表示,中文大部分位于第二平面,。

Unicode沒有規(guī)定字符對應的二進制碼如何存儲,。比如一個字符它的 Unicode 碼點是 0x6c49,對應的二進制數是 110110001001001,,二進制數有 15 位,,這也就說明了它至少需要 2 個字節(jié)來表示??梢韵胂?,在 Unicode 字典中往后的字符可能就需要 3 個字節(jié)或者 4 個字節(jié),甚至更多字節(jié)來表示了,。UTF-8,、UTF-16、UTF-32都是將數字轉換到程序數據的編碼方案,。

UTF的英文全稱叫做Unicode Transformation Format,,中文直譯為Unicode轉換格式。

    本站是提供個人知識管理的網絡存儲空間,,所有內容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內容中的聯系方式,、誘導購買等信息,,謹防詐騙。如發(fā)現有害或侵權內容,,請點擊一鍵舉報,。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多