c语言中汉字编码,【C语言学习】C语言汉字编码。。。C语言中汉字的输入
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
以下是我本人通过实例得出的结论,没有参照任何参考书。可能有不对的地方。
哪里不对,情各位大虾指正。
在说明之前,本人编写了一个小代码。
#include
#include
int main()
{
char a[10];
strcpy(a,"你好吗");
for(int i=0;i<10;i++)
printf("%X ",(unsigned char)a[i]);
printf("\n");
puts(a);
printf("\n");
return 0;
}
大家可以调试运行一下。
输出结果是。
C4 E3 BA C3 C2 F0 0 CC CC CC
你好吗
Press any key to continue
字符串a中存放了3个汉字,每个char是占用一个字节。
在C语言中汉字采用的是gb2312编码,每个汉字占两个字节。
printf("%X ",(unsigned char)a[i]);
输出了每个char地址存放的数据的16进制码。
两个char地址存放一个汉字。
所以
你=====C4 E3
好=====BA C3
吗=====C2 F0
最后由于是一个字符串。在该字符串的结尾又另外存放了一个\0,表示字符串结束。
程序开头声明了char a[10];十个字符空间。
对于没有存放数据的3个char空间默认存放了CC。
a[0]表示的是“你”的gb2312编码的高八位
a[1]表示的是“你”的gb2312编码的低八位
a[2]表示的是“好”的gb2312编码的高八位
a[3]表示的是“好”的gb2312编码的低八位
a[4]表示的是“吗”的gb2312编码的高八位
a[5]表示的是“吗”的gb2312编码的低八位
a[0]表示的是“\0”的gb2312编码的ASCCII编码
其实gb2312兼容是ASCII编码。对于英文字符和中文字符同时具有的字符串。
请看下面这个例子。
#include
#include
int main()
{
char a[20];
strcpy(a,"你好吗mylove");
for(int i=0;i<20;i++)
printf("%X ",(unsigned char)a[i]);
printf("\n");
puts(a);
printf("\n");
return 0;
}
输出结果
C4 E3 BA C3 C2 F0 6D 79 6C 6F 76 65 0 CC CC CC CC CC CC CC
你好吗mylove
从输出结果中我们可以看出总共使用了13个字节。
其中“你好吗”占用6个字节
“mylove”占用6个字节。
字符串结束符占用1个字节。。
这样大家对C语言中汉字的存储是不是很清晰的了解了呢?
下面看C语言中汉字的输入。
在头文件#include
中的gets()可以实现汉字的输入。同样是gb2312码的输入。gb2312兼容了ASCII编码。
好了,就写这些了。我的QQ号 791808990
换用大家来交流。
c语言中汉字编码,【C语言学习】C语言汉字编码。。。C语言中汉字的输入相关推荐
- c语言for循环笔记,【学习笔记】【C语言】循环结构-for
1.使用: for (语句1; 条件; 语句2) { 循环体 } 语句1:初始化语句 语句2:增量语句(执行完循环体后再执行的语句) 1.for一开始就会执行一次语句1(整个for循环只会执行一次) ...
- BST-V51开发板用c语言,小代码 向原文学习 BST 简单的C语言版本
/******************************** 运行环境:http://www.anycodes.cn/zh/ 原文:http://blog.csdn.net/u014488381 ...
- 高通Linux Android 平台中的蓝牙功能学习 (4)-- Android Marshmallow 中的蓝牙 4.2
为增强 BLE,蓝牙 4.2 引入了多项修正和功能.只有在需要全面认证器件是否符合蓝牙 4.2 标准时,这些修正才是必要的.这意味着蓝牙 4.2 功能并非器件认证的必要条件. 4.2 BLE 安全连接 ...
- 计算机在英语教学中的应用课题,浅谈信息技术在英语教学中的应用
浅谈信息技术在英语教学中的应用 毕业论文 摘要:随着信息技术的发展, 计算机多媒体技术和网络被广泛地应用在外语教学中, 改变了传统外语教学模式.现代化外语教学提高了外语教学水平, 从而培养高素质的外语 ...
- php中yii的controller,详解PHP的Yii框架中的Controller控制器,yiicontroller
详解PHP的Yii框架中的Controller控制器,yiicontroller 控制器是 MVC 模式中的一部分, 是继承yii\base\Controller类的对象,负责处理请求和生成响应. 具 ...
- 【C语言进阶深度学习记录】五 C语言中变量的属性
上一篇文章学习了C语言中的类型转换,点击链接查看:[C语言进阶深度学习记录]四 C语言中的类型转换. 文章目录 1 C语言的变量属性 1.1 auto关键字 1.2 register关键字 1.3 s ...
- C语言学习(十)C语言中的小数
C语言学习(十)C语言中的小数 小数的表示方式 小数分为整数部分和小数部分,他们之间用点号.分隔,如0.0.7.5.4.098.0.27.-987.333等都是合法小数,这是最常见的小数形式,我们称为 ...
- 如何用计算机辅助语言学习英语,浅析计算机辅助语言学习在高职高专英语教学中的运用研究...
浅析计算机辅助语言学习在高职高专英语教学中的运用研究 [论文关键词]计算机辅助语言学习 英语教学 优势 问题 [论文摘 要]本文通过对河北外国语职业学院181名学生的问卷调查,对目前计算机辅助语言学习 ...
- 数据库SQL语言学习--数据查询(持续更新中)
数据库SQL语言学习--数据查询(持续更新中) 上机练习1 1. 启动SQL Server 2008中的 SQL Server Management Studio. 2. ...
最新文章
- Learn OpenGL (二):三角形
- pycharm 转大写
- Steve Lin:如何撰写一篇优秀的SIGGRAPH论文
- delphi中的函数传参如何传枚举参数_我是这样使用SpringBoot(API传参)
- c语音学习-输入一个字母,输出其对应的ASCII码
- html特殊符号sm,以前搜集的一些资料—html中的特殊字符(2)
- fio 磁盘I/O测试工具
- E4A直播盒子APP源码搭建教程之——APP源码篇
- BPNN-Belief Propagation Neural Networks
- 计算机怎么语音通话,微信电脑版怎么语音聊天?微信电脑版语音聊天教程
- Alt + 数字键 符号大全
- pycharm中python环境的配置
- 重估维信金科:担保压身,负重难行
- 判断域名 转向 php,ASP,PHP,一空间多域名根据域名判断转向地址程序代码
- 服务器安装win7系统不停重启,win7系统下路由器总是每天都自动重启如何解决
- 用于拆解和组合PDF中各个对象的shell脚本
- Windows日志分析(中)
- Ajax+JDBC+Json处理多个数据
- 网易邮箱出现 FA_INVALID_SESSION
- android 获取年月日
热门文章
- 软件测试需要学什么?软件测试技能图谱
- Android 面试题合集 - 收藏集 - 掘金
- 小游戏-在评论留下你的运行结果吧
- 我的新版edge插件推荐!!!
- 国产32核服务器CPU验证成功!100%自主指令架构,单机最多可支持四路128核,来自龙芯中科...
- android中级开发师必备_【招聘】Android开发工程师 – 中级 – 陌陌
- html手机上怎么修改,怎么用手机修改路由器密码?
- note20220411
- 最新的单片机_涨势比深圳的房价还快!研究了39个ST单片机热门型号后,我发现了这些特点!...
- 手机大厂开始走上AI芯片 将来掀起AI应用