yk103 发表于 2006-12-16 10:51:41

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

如题,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

大虾们指点下
先谢过了

opendarwin 发表于 2006-12-16 11:02:33

跟编码有关

loveccy 发表于 2006-12-16 12:56:04

所有的东西,都是字节流,一个接一个的字节。

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

:mrgreen::mrgreen::mrgreen::twisted::twisted::twisted::oops::oops::oops:
又开始胡说八道了,其实我也是才想明白这个。

yk103 发表于 2006-12-16 15:39:39

听君一席话,胜读十年书阿!!!
谢了

loveccy 发表于 2006-12-16 17:32:57

别这么说。读十年书很了不起了。大家共同提高。我也是前些日子才刚刚想明白这个东西。
:oops:

(交通灯: :mrgreen::P:oops: )

fish_007 发表于 2006-12-17 15:38:19

不明白。学习~~~

chwoozy 发表于 2006-12-28 20:25:02

确实,UTF-8是三字节编码

fivesheep 发表于 2007-1-3 10:54:45

确实,UTF-8是三字节编码

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

volans 发表于 2007-1-8 14:57:21

UTF-8是在标准unicode的基础上改进的。标准unicode编码包含各种语言文字,并将起统一编码,每一个字都占用4Byte的空间,不管是中文还是英文,亦或什么日文韩文……
UTF-8是一种变长的编码,一般一个汉字会使用3Byte的空间,而英文字母(ASIC表前128)就只使用1Byte的空间,这样就大大节省了空间。有兴趣的可以研究以下UTF-8编码标准……
页: [1]
查看完整版本: linux下一个中文占3个字节么?