如何根据汉字的区位码显示出汉字

  网上有介绍,大致看明白了。自己再动手实验下。

 比如汉字“啊”,“阿”的区位码分别是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;
}

你可能感兴趣的:(如何根据汉字的区位码显示出汉字)