1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > c语言输出不同字体的汉字 【】c语言中输出汉字的编码

c语言输出不同字体的汉字 【】c语言中输出汉字的编码

时间:2021-06-29 00:48:28

相关推荐

c语言输出不同字体的汉字 【】c语言中输出汉字的编码

【】c语言中输出汉字的编码

(-03-25 22:10:04)

标签:

c语言

汉字编码

杂谈

分类:

C语言

C语言中,我们用整数输出字符得到的就是该字符的ASII码,如用整数输出a,得到97

但是,要是用字符数组存的汉字,怎样获得他的编码?汉字用的是两个字节存储,是不是这两个字节都有ASII码?那该怎么获得他们?然后把他们统一成一个编码?

汉字编码分好几种,不知道你想问的是哪种?

C/C++支持的是ASCII,不过汉字编码中,GB2312与ASCII是兼容的,所以可以在C中获得汉字的GB2312编码

GB2312是两个字节的,第一字节是高八位,第二字节是低八位,比如下面的程序:

#include

#include

int main()

{

char a[5];

strcpy(a,"啊");

printf("%XH %XH\n",(unsigned char)a[0],(unsigned char)a[1]);

return 0;

}

a[0]是“啊”字的高八位,a[1]是低八位,程序运行结果是a[0]=B0

a[1]=A1,用16进制表示的,所以“啊”字的GB2312编码是B0A1了~

输出时要强制转换成unsigned char,不然就变成负数了,因为编码是以8位的无符号整数为单位的

当然也可以转成10进制啦,比如

int b;

b=(unsigned char)a[0]*256+(unsigned char)a[1];

b即为汉字的10进制GB2312编码了

分享:

喜欢

0

赠金笔

加载中,请稍候......

评论加载中,请稍候...

发评论

登录名: 密码: 找回密码 注册记住登录状态

昵称:

评论并转载此博文

发评论

以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。