当前位置:首页 » 编程语言 » c语言编码方式

c语言编码方式

发布时间: 2024-04-11 02:11:42

A. 在c语言中怎样获得汉字编码

C语言中,我们用整数输出字符得到的就是该字符的ASII码,如用整数输出a,得到97
但是,汉字用的是两个字节存储,我们需要分别输出者两个字节,就相当于输出该汉子的编码。
C语言支持ASCII,而GB2312与ASCII是兼容的,所以可以在C语言中获得汉字的GB2312编码
GB2312是两个字节的,第一字节是高八位,第二字节是低八位,比如下面的程序:

#include<stdio.h>
#include<string.h>
intmain(){
chara[5];
strcpy(a,"啊");
printf("%XH%XH ",(unsignedchar)a[0],(unsignedchar)a[1]);
return0;
}

a[0]是“啊”字的高八位,a[1]是低八位,程序运行结果是a[0]=B0 a[1]=A1,用16进制表示的,所以“啊”字的GB2312编码是B0A1了。输出时要强制转换成unsigned char,不然就变成负数了,因为编码是以8位的无符号整数为单位的。
也可以转成10进制,例如:
int b=(unsigned char)a[0]*256+(unsigned char)a[1];
b即为汉字的10进制GB2312编码了

B. c语言中,汉字使用什么编码方式

DOS下是GB2312
(包含6763个汉字)
Windows下(主要是指Visual
Studio)是ANSI,这是Windows默认的编码方式
(这其实就是用“记事本”保存文件时默认的编码,据说记事本用这个编码的时候跟
"联通"两个字有过节)
linux不太清楚,现在据说都是UTF的,以前不是

C. c语言是用什么编码的

C语言是没有编码的。它的编码就是平台的默认编码。
比方说在windows 上汉字编码用gb2312 或者 说cp936(GBK一般的windows默认代码页,windows分为不同的代码页,可以查看一下MSDN)。
http://msdn.microsoft.com/zh-cn/goglobal/cc305153(en-us).aspx

C里char 就是一个字节。你定义一个汉字,比方说 char *p=“中”C语言用两个字节来存储;
p指向的两个字节存储的就是‘中’的gb编码。分别是‘\xd6\xd0’。
当然如果用printf("%s",p) 输入到屏幕的话,它会自动解码输出‘中’这个字。
如果在linux平台下,它一般是uft-8编码的,道理大概一样。

热点内容
php二级分类 发布:2024-11-28 10:40:49 浏览:851
机顶盒主时钟同步服务器地址修改 发布:2024-11-28 10:40:43 浏览:333
androidstudio输出 发布:2024-11-28 10:36:20 浏览:591
华为手机的音乐在哪个文件夹 发布:2024-11-28 10:34:54 浏览:720
赛尔号万能脚本 发布:2024-11-28 10:34:44 浏览:629
逆战端游二级密码在哪里设置 发布:2024-11-28 10:28:18 浏览:867
如何才能知道妈妈的手机密码 发布:2024-11-28 10:28:15 浏览:456
linux连接sftp 发布:2024-11-28 10:25:47 浏览:460
c语言显示日期 发布:2024-11-28 10:25:46 浏览:815
丛林法则脚本 发布:2024-11-28 10:24:54 浏览:124