• C语言基础之中文编码格式GB2312(4)


    GB2312历史回顾

    GB2312编码范围:A1A1-FEFE,其中汉字编码范围:B0A1-F7FE。

    GB2312编码是第一个汉字编码国家标准,由中国国家标准总局1980年发布,1981年5月1日开始使用。GB2312编码共收录汉字6763个,其中一级汉字3755个,二级汉字3008个。同时,GB2312编码收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符。

    分区表示
    GB2312编码对所收录字符进行了“分区”处理,共94个区,每区含有94个位,共8836个码位。这种表示方式也称为区位码。
    01-09区收录除汉字外的682个字符。
    10-15区为空白区,没有使用。
    16-55区收录3755个一级汉字,按拼音排序。
    56-87区收录3008个二级汉字,按部首/笔画排序。
    88-94区为空白区,没有使用。
    举例来说,“啊”字是GB2312编码中的第一个汉字,它位于16区的01位,所以它的区位码就是1601。

    双字节编码
    GB2312规定对收录的每个字符采用两个字节表示,第一个字节为“高字节”,对应94个区;第二个字节为“低字节”,对应94个位。所以它的区位码范围是:0101-9494。区号和位号分别加上0xA0就是GB2312编码。例如最后一个码位是9494,区号和位号分别转换成十六进制是5E5E,0x5E+0xA0=0xFE,所以该码位的GB2312编码是FEFE。

    GB2312编码范围:A1A1-FEFE,其中汉字的编码范围为B0A1-F7FE,第一字节0xB0-0xF7(对应区号:16-87),第二个字节0xA1-0xFE(对应位号:01-94)

    若要查询具体字符的编码请前往:汉字字符集编码查询


     GB2312编码格式采用的是区位码格式:GB2312为双字节编码,其中第一个字节为高字节,对应1-94个区,第二个字节为低字节,对应1-94个位。我们知道一个字节对于8位,8位的数可以表示的范围0-256,但是这里采用的范围是1-94,1-94是一个规定或者说是规范。当区号和位号分别加上0xA0就是GB2312编码,这也是一个规定。

    我们再来捋一下区号和位号的组合体:其范围0101  -  9494。

    接下来再加上一个0xA0十六进制数变成GB2312编码:高字节的最小数1转换成GB2312码:1(10) + 0xA0 = 0x01 + 0xA0 = 0xA1,高字节的最大数94转GB2312码:94(10) + 0xA0 = 0x5E + 0xA0 = 0xFE

    得GB2312编码范围:A1A1 - FEFE

    原文链接:https://www.qqxiuzi.cn/zh/hanzi-gb2312-bianma.php

  • 相关阅读:
    (二)建筑物多边形化简系列——多边形点数化简
    (一)建筑物多边形化简系列——去除噪点环
    (三)建筑物多边形化简系列——去除冗余点
    (五)建筑物多边形化简系列——最小外接矩形的获取
    vue笔记
    学习react基础知识(五)
    学习react基础知识(四)
    学习react基础知识(三)
    学习react基础知识(二)
    学习react基础知识(一)
  • 原文地址:https://www.cnblogs.com/iBoundary/p/11716705.html
Copyright © 2020-2023  润新知