网上有介绍,大致看明白了。自己再动手实验下。
比如汉字“啊”,“阿”的区位码分别是1601,1602。把“啊”,“阿”分别赋值给2个char[3];
发现“啊”=176 161(unsigned char),“阿”=176 162,这里的规律是很明显了。
从160开始,每个区是94个字,17区得第一个字薄就是1701的内码=177 161
实验验证了这一点。
另外,160的16进制是A0,176的16进制是B0.
idx=0-3754,代码如下。
char* GB2312Query(int idx)
{
char* cc=new char[3];
cc[0]=176+idx/94;
cc[1]=161+idx%94;
cc[2]=0;
return cc;
}
本文通过实验探讨了GB2312编码中汉字的区位码与字符内码之间的转换规律。以汉字“啊”、“阿”的区位码为例,介绍了如何将区位码转换为对应的内码,并给出了一个简单的查询函数实现。
2508

被折叠的 条评论
为什么被折叠?



