当前位置: 代码迷 >> C语言 >> 怪事~汉字内码。。。。
  详细解决方案

怪事~汉字内码。。。。

热度:557   发布时间:2007-07-24 10:31:24.0
怪事~汉字内码。。。。

程序如下
#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
----------------解决方案--------------------------------------------------------

这是在什么环境下运行的
汉字内马?
看来又该去看书了


----------------解决方案--------------------------------------------------------
  相关解决方案