某汉字的GB2312编码是怎么来的?

国家标准《信息交换用汉字编码字符集 基本集 GB 2312-80》里预先定义了形如下图的汉字及其区位码对照关系,内含6763个汉字,也可以在线查询
在这里插入图片描述
左上角的“32”代表“区码”,10进制。“李”字横、纵坐标“78”代表“位码”,10进制。合起来讲就是,“李”字的区位码是3278,10进制。

根据下列规则可以将某汉字的区位码转为GB2312编码:

  1. 将区码由十进制转化为十六进制。
  2. 将所得十六进制加上A0,得到GB2312编码的高字节。
  3. 将位码由十进制转化为十六进制。
  4. 将所得十六进制加上A0,得到GB2312编码的低字节。
  5. 组合区码、位码的十六进制数值,区码在高字节,位码在低字节。
  6. 得到最终的GB2312编码。

以“李”字为例,推到过程如下:

  1. 将区码32转化为0x20。
  2. 加上0xA0为0xC0。
  3. 将位码78转化为0x4E。
  4. 加上0xA0为0xEE。
  5. 组合区和位,为0xC0EE。
  6. 得到“李”字的GB2312编码为0xC0EE。通过在线工具可以验证我们的结果。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值