Unicode字符集(Unicode字符編碼)代碼點
代碼空間
代碼平面
ASCII總共有128個字符,,占據了BMP的前128個代碼點。 代碼組
第一個字節(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轉換格式。 |
|
來自: xiejunxy > 《業(yè)務知識》