打印

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

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

大虾们指点下
先谢过了
个人空间: http://yk103.blogcn.com.cn 有空来看看~

TOP

跟编码有关
*OPENDARWIN* 家已在后,世界在前;穿越夜晚边缘的暗影,直到所有星星沉寂

TOP

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

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

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

TOP

听君一席话,胜读十年书阿!!!
谢了
个人空间: http://yk103.blogcn.com.cn 有空来看看~

TOP

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


(交通灯:     

TOP

不明白。学习~~~
http://www.c-estbon.com.cn

TOP

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

TOP

[quote:dddb2e2980="chwoozy"]确实,UTF-8是三字节编码[/quote]

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

TOP

UTF-8是在标准unicode的基础上改进的。标准unicode编码包含各种语言文字,并将起统一编码,每一个字都占用4Byte的空间,不管是中文还是英文,亦或什么日文韩文……
UTF-8是一种变长的编码,一般一个汉字会使用3Byte的空间,而英文字母(ASIC表前12就只使用1Byte的空间,这样就大大节省了空间。有兴趣的可以研究以下UTF-8编码标准……
父母赐予名字 自己打造品牌

TOP