网上有介绍,大致看明白了。自己再动手实验下。
比如汉字“啊”,“阿”的区位码分别是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;
}