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

GB2312是两个字节的,第一字节是高八位,第二字节是低八位,比如下面的程序:
#include<stdio.h>
#include<string.h>
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编码了

%a,%A 读入一个浮点值(仅C99有效)   
%c 读入一个字符   
%d 读入十进制整数   
%i 读入十进制,八进制,十六进制整数   
%o 读入八进制整数   
%x,%X 读入十六进制整数   
%s 读入一个字符串,遇空格、制表符或换行符结束。   
%f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。   
%p 读入一个指针   
%u 读入一个无符号十进制整数   
%n 至此已读入值的等价字符数   
%[] 扫描字符集合   
%% 读%符号

转载:http://blog.csdn.net/han_kin/article/details/47838715

最新文章

  1. Parallel并行之乱用
  2. C语言内存分配方法。
  3. 【解决】SharePoint外部列表保存的日期/时间值不正确
  4. Asp.net树形递归算法
  5. 挑战一下吧!C#测试开发工程师英语面试题
  6. Linux对于录音
  7. 我的第一个webapiDemo
  8. Servlet--ServletRequest接口,ServletResponse接口
  9. Scrum 冲刺 第四日
  10. Oracle 外键级联更新
  11. 使用Tr&#230;fɪk(traefik)来加速Qt在线更新
  12. SSM_CRUD新手练习(7)Spring单元测试分页请求
  13. JS应用实例2:轮播图
  14. MP实战系列(四)之DAO讲解
  15. Nginx反代至Tomcat基于memcached的session保持
  16. 网络编程之Socket的TCP协议实现客户端与客户端之间的通信
  17. [原创]浅谈H5页面测试介绍
  18. IIS7 MVC 403 禁止访问:访问被拒绝
  19. SVMtrain的参数c和g的优化
  20. 编译gcc5.1.0时的报错

热门文章

  1. tcp socket/ unix socket
  2. capwap学习笔记&mdash;&mdash;初识capwap(三)
  3. [Spring Boot] Complex Scope Scenarios of a Spring Bean - Mix Prototype and Singleton, ScopeProxy
  4. 【Eclipse】如何在Eclipse中使用命令行?
  5. [海蜘蛛] 海蜘蛛 V8 全线无限试用版 免费发布破解教程
  6. Tone Mapping算法系列一:基于Fast Bilateral Filtering 算法的 High-Dynamic Range(HDR) 图像显示技术。
  7. ThinkPHP3.2多域名 Virtual .htaccess 匹配 RewriteCond %{HTTP_HOST}
  8. 面试总结——Java高级工程师(三)
  9. Spring 在+publicId+和+systemId+之间需要有空格
  10. Linux文件压缩、打包、备份