| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 809 人关注过本帖
标题:怪事~汉字内码。。。。
只看楼主 加入收藏
zzjking
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2007-7-16
收藏
 问题点数:0 回复次数:7 
怪事~汉字内码。。。。

程序如下
#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问题~我想知道问题在哪里....请指点下~

搜索更多相关主题的帖子: 内码 怪事 汉字 
2007-07-24 10:31
boot2046
Rank: 2
等 级:新手上路
威 望:3
帖 子:168
专家分:0
注 册:2007-7-23
收藏
得分:0 
如果我没有说错的话,楼主的你好两个字是utf8编码的,你把他改成gb2312的就行了
export LANG=zh_CN.GB2312
重新输入你好

Linux是简单的,你不需要成为天才也能理解这种简单,Windows是复杂的,就算你是天才也不能理解这种复杂
2007-07-24 10:45
I喜欢c
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:64
帖 子:1749
专家分:0
注 册:2007-3-2
收藏
得分:0 
#include<stdio.h>
main()
{
unsigned char *p;
unsigned char a[]="你好";

p=a;
while(*p!='\0')
{
printf("%d ",*p);
p++;
}
getch();
}

 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-07-24 10:52
zzjking
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2007-7-16
收藏
得分:0 

那请问你这个命令在哪里进行操作呢?我不太明白LINUX


2007-07-24 11:00
boot2046
Rank: 2
等 级:新手上路
威 望:3
帖 子:168
专家分:0
注 册:2007-7-23
收藏
得分:0 
直接在终端里输入export LANG=zh_CN.GB2312

Linux是简单的,你不需要成为天才也能理解这种简单,Windows是复杂的,就算你是天才也不能理解这种复杂
2007-07-24 11:19
zzjking
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2007-7-16
收藏
得分:0 
回复:(boot2046)直接在终端里输入export LANG=zh_C...
感谢~

2007-07-24 12:45
anlogo
Rank: 2
等 级:论坛游民
威 望:1
帖 子:293
专家分:20
注 册:2007-7-20
收藏
得分:0 
学到东西了
是一个得到汉字内码的好方法啊
运行结果是: 192 227 186 95
2007-07-24 14:12
小莳
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-6-17
收藏
得分:0 

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

2007-07-24 19:20
快速回复:怪事~汉字内码。。。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.052847 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved