zoukankan      html  css  js  c++  java
  • 树莓派进阶之路 (032) -字符问题(2)

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

    GB2312是两个字节的,第一字节是高八位,第二字节是低八位,比如下面的程序:
    #include<stdio.h>
    #include<string.h>
    int main()
    {
    char a[5];
    strcpy(a,"啊");
    printf("%XH %XH ",(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

  • 相关阅读:
    在 mac iTerm2 中使用 cmd 终端
    在 jupyter 中添加菜单和自动完成功能
    Bash 和 Zsh 开启 vi-mode
    免密登录和远程执行命令
    图片的筛选
    win10 右键菜单很慢的解决方式
    ssh中的 Connection closed by ***
    NodeJS 获取网页源代码
    在 JSDOM v11 中使用jQuery
    kafaka学习
  • 原文地址:https://www.cnblogs.com/jikexianfeng/p/7593635.html
Copyright © 2011-2022 走看看