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[扩充非汉字]
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
时间: 2024-10-02 15:44:50