|
发表于 2007-5-30 18:52:55
|
显示全部楼层
Post by ailantian
UTF8的编码大概也只有6万多个。而且现在linux的locale中似乎只有utf8的,
没有utf16和utf32的,最大的字符集可能支持的就是GB18030了。所以如果要使用
大字符集的话,目前的选择似乎只能是GB18030,但是这个东西不是国际标准,
到时候会有问题。现在都趋向于用unicode编码。
debian中dpkg-reconfigure locales,看不到有大位的utf编码集。估计是不支持。最大可能就是GB18030
java里面的编码好像是utf16的
就目前而言, UTF-8(原來是6個字節,為了和utf-16同一,現在最多使用4個字節)和UTF16支持2^20(1048576)個編碼空間, ucs-4 支持 2 ^ 31(超過21億,目前使用2 ^ 20)個編碼空間; 國家標准gb18030的編碼空間是超過150萬. 但是就收錄漢字範圍而言, unicode 體系收錄了 CJK(2萬左右)[unicode 2.0], CJK-EXTA(六七千左右)[unicode 3.1], CJK-EXTB(4萬左右)[unicode 4.0] 和 CJK-EXTC(我還沒有查過,估計會有數萬,目前不少輸入法已經使用其中的數千個)[unicode 5.0]. 而gb18030在7年前曾承諾漢字部分跟unicode同步, 并留出空間2^20個碼位, 但到目前為止,還沒有任何動作, 漢字數字為27000左右,相當于unicode3.1水平(CJK和CJK-EXTA). 本來想在裏面增加粵語輸入,但是由于是使用gbk(2萬左右)內碼, 4千多個處在CJK-EXTA和CJK-EXTB範圍中的粵語常用字無法處理. 理論上即使是使用gb18030還是有3千多字無法處理, 實際上使用gb18030根本就沒有意義, 它的CJK-EXTA部分已經是使用4字節表示了,連utf16都不如,utf16也是到了CJK-EXTB時才使用4字節表示.此時還不如幹脆轉為unicode實現. |
|