中文在unicode中的編碼範圍

2021-06-08 08:29:23 字數 1606 閱讀 6413

以前寫過一篇貼子是寫中文在unicode中的編碼範圍unicode中文範圍

,但寫的不是很詳細,今天再次研究了下unicode,並給出詳細的unicode取值範圍。

本次研究的unicode物件是unicode 5.2.0版本。現在最新的是6.0版

對於這次研究的unicode把編碼分為以下幾個平面(英文中是plane,可以認為就是不同的區位)

unicode可以邏輯分為17平面(plane),每個平面擁有65536( = 216)個**點,雖然目前只有少數平面被使用。

平面0 (0000–ffff): 基本多文種平面(basic multilingual plane, bmp).

平面1 (10000–1ffff): 多文種補充平面(supplementary multilingual plane, smp).

平面2 (20000–2ffff): 表意文字補充平面(supplementary ideographic plane, sip).

平面3 (30000–3ffff): 表意文字第三平面(tertiary ideographic plane, tip).

平面4 to 13 (40000–dffff)尚未使用

平面14 (e0000–effff): 特別用途補充平面(supplementary special-purpose plane, ssp)

平面15 (f0000–fffff)保留作為私人使用區(private use area, pua)

平面16 (100000–10ffff),保留作為私人使用區(private use area, pua)

最有用的當然就是bmp平面0了編碼從u+0000至u+ffff。那裡包含了幾乎全部的常用字元。

unicode基本平面區的編碼區間含義

為鑑於unicode原有的16位空間不足以應用,於是從unicode 3.1版本開始,設立了16個擴充套件字碼空間,稱為輔助平面,

使 unicode 的可使用空間由6萬多字增至約100萬字。輔助平面字元要用上4位元組來儲存。

unicode中的幾大區間

最後小結下:

1、現在網上大多數用於判斷中文字元的是 u+4e00..u+9fa5 這個範圍是只是「中日韓統一表意文字」這個區間,但這不是全部,如果要全部包含,則還要他們的擴充套件集、部首、象形字、注間字母等等;

2e80-a4cf 加上 f900-faff 加上 fe30-fe4f

其中 2e80-a4cf 

包含了中日朝部首補充、康熙部首、表意文字描述符、中日朝符號和標點、日文平假名、日文片假名、注音字母、諺文相容字母、象形字注釋標誌、注音字母擴充套件、中日朝筆畫、日文片假名語音擴充套件、帶圈中日朝字母和月份、中日朝相容、中日朝統一表意文字擴充套件a、易經六十四卦符號、中日韓統一表意文字、彝文音節、彝文本根

f900-faff

中日朝相容表意文字

fe30-fe4f

中日朝相容形式

所以,一般用4e00-9fa5已經可以,如果要更廣,則用2e80-a4cf  ||   f900-faff || fe30-fe4f

2、全形ascii、全形中英文標點、半寬片假名、半寬平假名、半寬韓文本母:ff00-ffef

3、不要太關心簡繁中文的區別,如果要明確非要簡體中文可參考unicode中簡體中文編碼

參考:

在wap中文字unicode編碼方法

3g時代就要指日到來了,現在手機的wap上網越來越流行,在手機瀏覽的時候,我們要進行了unicode編碼了之後,手機才能看的漢字的,所以我們要進行編碼。region private string unicodestring string inputstring 對字串加入頭 x 和尾 private...

python中的unicode編碼

概括 從python1.6開始就可以處理unicode字元了。一 幾種常見的編碼格式。1.1 ascii,用1個位元組表示。1.2 utf 8,用1個至三個位元組表示,表示ascii碼時只占用1個位元組,ascii編碼是utf 8的子集。1.3 utf 16,用2個位元組表示,在python中,un...

unicode 在python3中的編碼問題

u u 表示unicode字串 example u string 不是僅僅是針對中文,可以針對任何的字串,代表是對字串進行unicode編碼。一般英文本元在使用各種編碼下,基本都可以正常解析,所以一般不帶u 但是中文,必須表明所需編碼,則一旦編碼轉換就會出現亂碼。建議所有編碼方式採用utf8 r r...