GB18030的相關介紹

2021-09-05 18:39:07 字數 2303 閱讀 6419

gb18030-2000編碼標準簡

介 gb18030-2000編碼標

準是由資訊

產業部和國家質量技

術監督局在2023年 3月17日聯合

發布的,並且將作為一

項國家標準在明年的1月正式強制

執行。

1.概述

gb18030-2000編碼標

準是在原來的 gb2312-1980 編碼標

準和 gbk 編碼標

準的基礎上進

行擴充,增加了四字

節部分的

編碼。它可以完全對映iso10646的基本平面和所有

輔助平面

,共有150多萬個碼位

。在iso10646的基本平面內,它在原來的2萬多

漢字的基

礎上增加了7000 多個漢字的

碼位和字型

,從而使基本平面的

漢字到達 27000多個。它的主要目的是

為了解決一些生

、偏、難

字的問題

,以及適應出版

、郵政、

戶政、金融、地理資訊系

統等迫切需要的人名

、地名用字問題。

gb18030-2000作

為gb2311體系的

編碼字元標準

,規定了資訊交換用的

圖形字元及其二進位制

編碼的十六

進製表示

。它支援 gb 13000.1-1993的全部中日

韓(cjk)統一漢

字字元和全部中日韓統一

漢字extension a和extension b的字元。

2.字彙

gb18030-2000編碼標準收錄

的字元分別以

單位元組、雙字

節和四字

節編碼。下面簡要列

舉一下它

們各自包括的內容:

1) 單位元組

部分 單字

節部分收

錄了gb11383的0x00到0x7e全部 128個字元及單字

節編碼的歐元符號。

2) 雙位元組部分

雙位元組部分收

錄的內容如下:

gb13000.1的全部cjk統一漢

字字元;

gb13000.1的cjk相容區挑

選出來的21個漢字

; gb13000.1中收

錄而gb2312未收

錄的我國台灣地區使用的

圖形字元139個;

gb13000.1收

錄的其它字元31個;

gb2312中的非

漢字符號;

gb12345的豎排

標點符號19個;

gb2312未收

錄的10個小寫

羅馬數字;

gb2312未收錄的

帶音調的

漢語拼音字母5個以及 a和g; 漢

字數字「o」;

表意文字描述符13個; 增

補漢字和部首/構件80個;

雙位元組編碼的歐元符號。

3) 四位元組部分

四位元組部分收

錄了上述雙字

節字元之外的

,包括 cjk 統一漢

字擴充 a 在內的 gb13000.1 中的全部字元。

3.編碼規則

gb18030-2000標

準採用單位元組

、雙位元組

和四位元組三種

方式對字元編碼。單

位元組部分採用gb 11383的

編碼結構與

規則,使用 0x00至0x80碼

位。雙字

節部分採用兩個字

節表示乙個字元,其首字

節碼位從 0x81至0xfe,尾字

節碼位分

別是0x40至0x7e和0x80至0xfe。四字

節部分第一

、三位元組

仍為0x81~0xfe,第

二、四字

節採用gb 11383未使用的0x30到0x39作

為對雙字

節編碼擴

充的字尾

,這樣擴

充的四字

節編碼,其範

圍為0x81308130 到 0xfe39fe39。碼位範

圍分配如下表所示:

四位元組字元的編碼

自第四個位元組開始

,編碼碼

位為 0x30至0x39;其次是第三個位元組,

編碼碼位

為0x81至0xfe;再次是第二個位元組,

編碼碼位

為0x30至0x39;最後是第乙個位元組,

編碼碼位

為0x81至0xfe。即:

讓程式支援gb18030

讓程式支援gb18030 據說gb18030已經是ucs 4標準的一部分了,而現有的win32程式本質上是ucs 2的,原理上只要將ucs 2公升級為ucs 4就可以gb18030了。在vc中,打了ms的補丁,可以使用exttextoutl實現顯示乙個gb18030字元,不過字型一定要選對,就是 宋...

Unicode 轉化 GB18030 編碼 方法

頁詳細知識 int fgetline file fp,char ch,int size 1024 ch i 1 0 return i 1 int unicode fgetline file fp,wchar t wch,int size 1024 wch i 1 0 return i 1 int r...

gb18030編碼格式了解和應用

編碼格式經常用的有utf 8 gbk,之前用eclipse開發的時候預設格式就是gbk,現在換成as後預設格式變成了標準的utf 8。最近做銀行業務發現其報文用16進製制字串轉成byte陣列後,再分別用utf 8和gbk轉碼都會有亂碼的情況出現。使用utf 8轉碼時由於全部是亂碼因此判定utf 8編...