当前位置:首页 » 编程语言 » 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编码的,道理大概一样。

热点内容
四川电信域名服务器地址云空间 发布:2025-09-10 17:30:43 浏览:540
android底部导航栏高度 发布:2025-09-10 17:25:42 浏览:190
vb中的sql数据库 发布:2025-09-10 17:20:35 浏览:976
安卓手机有杂音怎么处理 发布:2025-09-10 17:19:10 浏览:410
自动脚本挂机 发布:2025-09-10 17:16:06 浏览:699
pythonsae安装 发布:2025-09-10 17:15:08 浏览:877
ftp数据自动备份linux 发布:2025-09-10 17:01:59 浏览:423
花瓣源码 发布:2025-09-10 17:01:48 浏览:141
gpsbd服务器地址 发布:2025-09-10 15:56:52 浏览:471
上云服务器硬件 发布:2025-09-10 15:39:35 浏览:257