首页 » 规范协议 » GBK编码表与编码字库

GBK编码表与编码字库

 

GBK编码的单字节与双字节
gbk编码分两部分,一部分是单字节编码,另一部分是双字节编码。
gbk编码中,前128个编码都是单字节编码。单字节编码从00-7F,与ASCII相对应。
在单字节编码之后就是双字节编码。第一个字节范围是81-FE。第二字节的一部分领域在40–7E,其他领域在80–FE。
这样可以通过第一个字节就可以判断是单字节编码还是双字节编码。

双字节编码区又分为5部分

范围	    第1字节	第2字节	        编码数	字数    内容
GBK/1	    A1–A9	A1–FE	        846	717     GB2312非汉字符号
GBK/2	    B0–F7	A1–FE	        6,768	6,763   GB2312 汉字
GBK/3	    81–A0	40–FE(7F除外)	6,080	6,080   扩充汉字
GBK/4	    AA–FE	40–A0(7F除外)	8,160	8,160   扩充汉字
GBK/5	    A8–A9	40–A0(7F除外)	192	166     扩充非汉字
用户定义    AA–AF	A1–FE	        564	
用户定义    F8–FE	A1–FE	        658	
用户定义    A1–A7	40–A0(7F除外)	672	
合计:			                23,940	21,886

GBK1-GBK5具体内容
GBK1[GB2312非汉字符号]
GBK2[GB2312 汉字]
GBK3[扩充汉字]
GBK4[扩充汉字]
GBK5[扩充非汉字]

五部分分布示意图:
638px-GBK_encoding_zh.svg

GBK编码计算方法

$word = mb_convert_encoding("一",'gbk','utf8');
$high = ord($word[0]);
$low = ord($word[1]);
$code = $high*256 + $low;
echo dechex($code);

汉字编码范围
0xB0A1 - 0xF7FE gb2312汉字 GBK2
0x8140 - 0xA0FE 扩充汉字 GBK3
0xAA40 - 0xFEA0 扩充汉字 GBK4

技术交流

原文链接:GBK编码表与编码字库,转载请注明来源!

原文链接:GBK编码表与编码字库,转载请注明来源!

9