我想把中文的字符转化为编码(不知道是什么编码)。
中 --> 54992
文 --> 52932
问 --> 52933
等等,求一转换的方法。以下方法不对:
char word = '中';
int num = (short)word;
num结果是20013,在网上搜索到的,hex(asc("中"))=54992,不知道C#怎么写

解决方案 »

  1.   

    int后的结果是十进制,你列出来的是估计是十六进制。
      

  2.   

    一个汉字内码由两个字节组成,对于国标码来说,这两个字节的ascii码范围在161~254之间,第一个字节表示汉字的区码,第二个字节表示汉字的位码,它们是相应汉字的区码和位码加上160得到的。比如一个汉字的区码是3,位码是4,那么它的两个内码就是163和164。要取出汉字的内码,只要分别取出它的第一个和第二个字节就行了。
    比如:char s[]="今天";
    那么s[0]和s[1]就是“今”字的内码,s[2]和s[3]就是“天”字的内码。