找回密码
 注册
查看: 2913|回复: 8

linux下一个中文占3个字节么?

[复制链接]
发表于 2006-12-16 10:51:41 | 显示全部楼层 |阅读模式
如题,windows下一个汉字,用内码表示,是两个字节。但是linux下好像不同阿?

#include<stdio.h>
main(){
unsigned char c;
while((c=getchar())!=EOF){
printf("%d ",c);
putchar(c);
printf("\n");
}
}


230
136
145
10       //e

大虾们指点下
先谢过了
发表于 2006-12-16 11:02:33 | 显示全部楼层
跟编码有关
回复

使用道具 举报

发表于 2006-12-16 12:56:04 | 显示全部楼层
所有的东西,都是字节流,一个接一个的字节。

`我’这个字,utf-8编码是0xe6、0x88、0x91;gb编码就是0xce、0xd2。
看到的只有那两或三个字节,达到无`我’境界,才算入道。

                
又开始胡说八道了,其实我也是才想明白这个。
回复

使用道具 举报

 楼主| 发表于 2006-12-16 15:39:39 | 显示全部楼层
听君一席话,胜读十年书阿!!!
谢了
回复

使用道具 举报

发表于 2006-12-16 17:32:57 | 显示全部楼层
别这么说。读十年书很了不起了。大家共同提高。我也是前些日子才刚刚想明白这个东西。


(交通灯:     
回复

使用道具 举报

发表于 2006-12-17 15:38:19 | 显示全部楼层
不明白。学习~~~
回复

使用道具 举报

发表于 2006-12-28 20:25:02 | 显示全部楼层
确实,UTF-8是三字节编码
回复

使用道具 举报

发表于 2007-1-3 10:54:45 | 显示全部楼层
[quote:dddb2e2980="chwoozy"]确实,UTF-8是三字节编码[/quote]

utf-8 是变长的, cjk这些复杂的字符才用3字节
回复

使用道具 举报

发表于 2007-1-8 14:57:21 | 显示全部楼层
UTF-8是在标准unicode的基础上改进的。标准unicode编码包含各种语言文字,并将起统一编码,每一个字都占用4Byte的空间,不管是中文还是英文,亦或什么日文韩文……
UTF-8是一种变长的编码,一般一个汉字会使用3Byte的空间,而英文字母(ASIC表前12就只使用1Byte的空间,这样就大大节省了空间。有兴趣的可以研究以下UTF-8编码标准……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-5-18 00:26 , Processed in 0.042353 second(s), 16 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表