c#中获取中文简拼
其实关于获取中文简拼的小例子网上挺多的,具体的实现我就不写了,有一些一直不懂的地方,看了好长时间才算弄明白了,如果有同样不太懂的可以做个参考:
1.B0A1这个值是怎么来的?
这个值是GB2312汉字字符的开始,对应的是中文的“啊”,完整的汉字对应表点这里
2.gbkBytes * 256 + gbkBytes[i + 1],计算上面那个值的时候,为什么要用获取到的字节这么计算?
实际试了一下,“啊”获取到的两个字节是176和161,对应的16进制数正是B0和A1,B0A1 = B0 * 16 ^2 + A1。
虽然是很简单,但是要是有人把BOA1这个数写成十进制的45217,对没有接触过这里的人来说想必会更难理解吧,使用这个码表其实还是有好多汉字识别不出来,不过日常的够用了,详细的代码可以点击这里查看,很全了。