gole 发表于 2014-12-16 09:26:58

请教素组的问题

本帖最后由 gole 于 2014-12-16 11:40 编辑

看到别人的代码。有个疑问。。
unsigned char Txt[] ={0x43,0xd5,0xfd,0x00};   这个16进制是怎样转换的??
也就是说,怎样把‘C正’ 转换成{0x43,0xd5,0xfd,0x00}

#include <stdio.h>
main()
{
      unsigned char Txt[] ={0x43,0xd5,0xfd,0x00};
      
    unsigned char Txt1[] = "C正";
      printf("%s\n",Txt);
      printf("%s\n",Txt1);
    system("pause");
}



BeatificDevin 发表于 2014-12-16 12:47:49

这牵涉到汉字的编码,0x43 是字符c
0xd5,0xfd,是汉字 正、汉字(gbk)先转化为 unicode码,然后把unicode转换成字符ASCII码,两个16进制的ASCII码表示一个汉字。
0x00是字符'\0',就是字符串的结束字符

---这是我的理解,希望能帮助你

gole 发表于 2014-12-17 10:02:42

感谢高手的回答。。
希望能多看到关于你的信息和文章。。
再次感谢!!

BeatificDevin 发表于 2014-12-17 19:41:23

不客气不客气,共同进步啊,我也正在学习数据结构和算法
页: [1]
查看完整版本: 请教素组的问题