windows程序设计例子问题

2024-12-12 08:51:15
推荐回答(2个)
回答1:

汉字不一定就是unicode编码 ,你所看到的汉字是GB2312编码

在ASCII体系下,如果系统读取字符串时某个字节的值大于161(0Xa1),并且下一个字节的值大于176(0Xb0),那么系统会认为这是一个汉字的GB2312双字节编码,然后查询码表显示汉字

比如下面这个程序,运行后会显示“中文”两个字,因为数组a的值恰恰符合GB2312编码

#include
int main()

 char a[5]={214,208,206,196,0};
 printf("%s\n",a); 
 return 0;
}

回答2:

因为你的源文件就是ASCII码,你的操作系统默认是按照ASCII码保存的。
你用ASCII方式读出来的内容,保存到变量里。然后再在中文系统里显示出来,是没有问题的。
先确保你的文件是Unicode码的。