怪事~汉字内码。。。。
程序如下
#include<stdio.h>
main()
{
char *p;
char a[]="你好";
p=a;
while(*p!='\0')
{
printf("%d ",*p);
p++;
}
}
这是1个非常简单的看汉字内码的程序,
按道理来说 结果应该是4组数字 比如 22 33 44 55
但是我运行的结果是:-28 -67 -96 -27 -91 -67 这个成6组数字了~1个汉字是2个字节~应该是4组数啊~
这是为什么啊~我用的linux的终端写的.C程序~
我同学也是这么写的~他就能出正确的结果~
说是我RP问题~我想知道问题在哪里....请指点下~
----------------解决方案--------------------------------------------------------
如果我没有说错的话,楼主的你好两个字是utf8编码的,你把他改成gb2312的就行了
export LANG=zh_CN.GB2312
重新输入你好
----------------解决方案--------------------------------------------------------
#include<stdio.h>
main()
{
unsigned char *p;
unsigned char a[]="你好";
p=a;
while(*p!='\0')
{
printf("%d ",*p);
p++;
}
getch();
}
----------------解决方案--------------------------------------------------------
那请问你这个命令在哪里进行操作呢?我不太明白LINUX
----------------解决方案--------------------------------------------------------
直接在终端里输入export LANG=zh_CN.GB2312
----------------解决方案--------------------------------------------------------
回复:(boot2046)直接在终端里输入export LANG=zh_C...
感谢~ ----------------解决方案--------------------------------------------------------
学到东西了
是一个得到汉字内码的好方法啊
运行结果是: 192 227 186 95
----------------解决方案--------------------------------------------------------
这是在什么环境下运行的
汉字内马?
看来又该去看书了
----------------解决方案--------------------------------------------------------