如题所述
首先说明 gb2312 的编码规则
汉字采用区位码表示 每个区有 94 个汉字容量。 1~94
区的编码从 1开始倒94
所以gb2312的最大编码容量是 94*94 (实际上只包含了6737个汉字)
区码: 1~8 是符号区,全角英文字母,希腊、日文、俄文等等,
9 区是造表符号
10~15 空,未定义,
16~55 一级字库 汉字3755个,采用拼音排序;
56-87 二级字库,汉字3008个,采用部首排序;
87~94空
由于此编码方案顶得比较早,有很多不完善的地方,所以后来有了 gb12345,和gb 13000 等其他编码方案。
个人记忆,可能有些出入,仅供参考。
---------------------------------------------------------------
内码也简单,就是gb2312的编码都加上 0xa0 (160) 就行了
比如
区位码:1601 “啊”字
他在计算机里面的内码就是
10进制 16 +160, 01+160
16进制 10 + A0,01+A0
得出来的就是B0A1
汉字采用区位码表示 每个区有 94 个汉字容量。 1~94
区的编码从 1开始倒94
所以gb2312的最大编码容量是 94*94 (实际上只包含了6737个汉字)
区码: 1~8 是符号区,全角英文字母,希腊、日文、俄文等等,
9 区是造表符号
10~15 空,未定义,
16~55 一级字库 汉字3755个,采用拼音排序;
56-87 二级字库,汉字3008个,采用部首排序;
87~94空
由于此编码方案顶得比较早,有很多不完善的地方,所以后来有了 gb12345,和gb 13000 等其他编码方案。
个人记忆,可能有些出入,仅供参考。
---------------------------------------------------------------
内码也简单,就是gb2312的编码都加上 0xa0 (160) 就行了
比如
区位码:1601 “啊”字
他在计算机里面的内码就是
10进制 16 +160, 01+160
16进制 10 + A0,01+A0
得出来的就是B0A1
温馨提示:答案为网友推荐,仅供参考
第1个回答 2006-12-31
454545本回答被提问者采纳