200 求购简繁体内码转换原代码(请附内码表), 最先答对给满分,立即结贴,在线等!
如果需要的话,留mail下来
繁体字的内码我不清楚,只知道简体GB2312码的编码原理赋上希望有启发:
GB2312编码学习心得
GB2312-80
总共分成94个区
每个区又分成94个位
区代表的是第一个字节即:高位
位代表的是第二个字节即:低位
代码组成原理:
第一个字节是该字的所在的区号加32,第二个字节也是所在的位号加32而且
第一个字节和第二个字节的第八位都置1以便于和ASCII码区分开来,所以
编码中无论第一字节还是第二字节用十进制表示的都是负数。
例如:
啊: 在16区01位 16+32=48=00110000 1+32=33=00100001最高位都置1
则:啊的编号为 高位:10110000 低位:10100001 即-80,-95
各区分类:
01~09 区为符号、数字区,
16~87 区为汉字区。
10~15 区、88~94 区是有待于“进一步标准化”的“空白位置”区域。
但第 10 区推荐与第 3 区的 94 个图形字符相同,
字形宽度为其宽度的一半。
也就是说常用的汉字都分布在:16~87区
也就是高位是在 -80~-9之间
01区对应十进制数 -95
16区对应十进制数 -80
、、、、、、、、
87区对应十进制数 -9
94区对应十进制数 -2
01位对应十进制数 -95
16位对应十进制数 -80
、、、、、、、、
87位对应十进制数 -9
94位对应十进制数 -2
有其计算区位号 只要 加 96即可 因为 96=128-32
同时为了能将一个GB2312码的汉字用两个十六进制数来表示的的话则只需要将相应的区号和位号加上256即可
如:"啊" 区号:-80 则 256+(-80) = 176 对应十六进制就是 B0
位号: -95 则 256+(-95) = 161 对应十六进制就是 A1
繁体也有相应的编码方法你去查查,然后对比再对区号和位号进行转换.
http://www.csdn.net/cnshare/soft/6/6153.shtm
两岸通--简繁字体互转(VC源码)(1.0)
来晚一步,还是给点分把