GB 2312标准共收录6763个汉字,其中一级汉字3755个,二级汉字3008个;同时,GB 2312收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符.
GB 2312的出现,基本满足了汉字的计算机处理需要,它所收录的汉字已经覆盖中国大陆99.75%
对于人名、古汉语等方面出现的罕用字,GB 2312不能处理,需要使用GBK及GB18030汉字编码


一.规则

  1. 每个汉字有个二进制编码,叫汉字国标码.
  2. GB2312-80 GB2312将代码表分为94个区,对应第一字节;每个区94个位,对应第二字节.
  3. 区位码:十进制区码+十进制位码
  4. 国际码(GB):(十六进制区码+20H)+(十六进制位码+20H)
  5. 机内码:将国标码的每个字节都加上128,即将两个字节的最高位由0改1,其余7位不变
  6. 16-55区为一级汉字,按拼音排序;56-87区为二级汉字,按部首/笔画排序

二.JAVA代码

public final static int DRI16 = 16;public final static int DRI55 = 55;public final static int DRI56 = 56;public final static int DRI87 = 87;public final static int MIN_POS = 1;public final static int MAX_POS = 94;public static void main(String[] args) throws UnsupportedEncodingException {/** 定义字节数组,长度为2,分别用于存放高位字节和地位字节 */int index = 1;byte[] gbBytes = new byte[2];for (int d = DRI16; d <= DRI55; d++) {/** 第一个字节(高位字节)+20H即十进制32 */int high_pos = d + 32;/** 第一个字节(高位字节)+128 */high_pos += 128;/** 给第一个字节(高位字节)赋值 */gbBytes[0] = (byte) high_pos;for (int p = MIN_POS; p <= MAX_POS; p++) {/** 第二个字节(低位字节)+20H即十进制32 */int low_pos = p + 32;/** 第二个字节(地位字节)+128 */low_pos += 128;/** 第二个字节(地位字节)赋值 */gbBytes[1] = (byte) low_pos;/** 构造汉字字符并输出,下面就是见证奇迹的时刻 */String ccStr = new String(gbBytes, "GB2312");if (!(d == DRI55 && p >= 90)) {System.out.print("第" + (index++) + "个汉字是:");System.out.println(ccStr);}}}for (int d = DRI56; d <= DRI87; d++) {/** 第一个字节(高位字节)+20H即十进制32 */int high_pos = d + 32;/** 第一个字节(高位字节)+128 */high_pos += 128;/** 给第一个字节(高位字节)赋值 */gbBytes[0] = (byte) high_pos;for (int p = MIN_POS; p <= MAX_POS; p++) {/** 第二个字节(低位字节)+20H即十进制32 */int low_pos = p + 32;/** 第二个字节(低位字节)+128 */low_pos += 128;/** 第二个字节(低位字节)赋值 */  gbBytes[1] = (byte) low_pos;/** 构造汉字字符并输出,下面就是见证奇迹的时刻 */String ccStr = new String(gbBytes, "GB2312");System.out.print("第" + (index++) + "个汉字是:");System.out.println(ccStr);}}}

三.GB 2312是如何兼容ASCII码的

当遇到1开头的字,就把两个字节合起来解析为一个汉字;遇到0开头的字节,就把这个字节解析为一个ASCII码字符(0-12),

如:01000001表示'A'(A的ASCII码值为65)

如:11001110 11010010表示汉字'我'

“深度学习“汉字国标码GB2312相关推荐

  1. 计算机组成实验第一关——汉字国标码转区位码实验【详细步骤版】

    计算机数据表示实验(logisim) 汉字国标码转区位码实验 第一步 在 logisim 中打开实验资料包中的 data.circ 文件. 第二步 把data文件下的汉字显示拖出来. 第三步 双击小图 ...

  2. Educoder计算机数据表示实验(HUST)第1关:汉字国标码转区位码实验

    首先我们需要找到汉字国标码转区位码的软件. 这个资源可以从我上传的资源那里看到. 假如我们输入一下数字,那么我们可以得到转换的结果,即机内码. 然后我们再返回到原始电路: 我们需要对电路进行这样的连接 ...

  3. 免费学习机器学习和深度学习的源码、学习笔记和框架分享

    机器学习和深度学习的免费学习源码.学习笔记和框架分享 python笔记 源码 python导入模块的的几种方式 在python中,字典按值排序 python中set的基本常用方法 python取出fr ...

  4. 计算机数据表示实验|汉字国标码转区位码实验

    计算机数据表示实验|汉字国标码转区位码实验 了解实验要求.该实验要求我们在汉字显示电路图中显示出班级学号姓名加一段自选文字.因此首先必须连接好国标转区位码电路.再将所需显示的文字机内码输入汉子显示电路 ...

  5. Educoder计算机数据表示实验(HUST)-汉字国标码转区位码实验偶校验编码设计logisim

    第1关:汉字国标码转区位码实验 第2关:汉字机内码获取实验 下面是:只读存储器的存储内容(12345ABCDEFGabcdefg轻轻的我走了,正如我轻轻的来:我轻轻的招手,作别西天的云彩.那河畔的金柳 ...

  6. 【毕业设计】深度学习二维码识别系统 - python opencv

    文章目录 0 前言 2 二维码基础概念 2.1 二维码介绍 2.2 QRCode 2.3 QRCode 特点 3 机器视觉二维码识别技术 3.1 二维码的识别流程 3.2 二维码定位 3.3 常用的扫 ...

  7. 汉字国标码转区位码的实验( EduCoder实验一)

    汉字国标码转区位码的实验 一.基础内容 二.EduCoder(实验一:汉字国标码转区位码) ​ 一.基础内容 区位码是啥? ​ 定义:一个四位的十进制数,区和位构成唯一的二维数组 ​ 区号:2位,位号 ...

  8. 汉字国标码、区位码和机内码三者的定义及联系

    一.三者的定义 1.汉字国标码:创建于1980年,目的为了使每个汉字有一个全国统一的代码而颁布了汉字编码的国家标准.每个汉字有个二进制编码,叫汉字国标码. 2.区位码:国标码是一个四位十六进制数,区位 ...

  9. java汉字转换国标码_GBK/GB2312编码问题分析以及java获取汉字国标码

    import java.io.UnsupportedEncodingException; import java.util.regex.Matcher; import java.util.regex. ...

最新文章

  1. CIO:辩证看待云计算 游戏规则已改变
  2. MySQL索引下推(5.6版本+)
  3. 你很可能需要知道这个调试小技巧
  4. asp.net core mvc剖析:KestrelServer
  5. 多个iframe同时加载并动态调整大小
  6. linux 生成hash值命令,linux-从给定哈希计算base64编码哈希?
  7. Azkaban业务流程如何转化为DataWorks业务流程
  8. 命令行下 mysql 不是内部或外部命令排查方法
  9. 阿里云智能 AIoT 首席科学家丁险峰:阿里全面进军 IoT 这一年 | 问底中国 IT 技术演进
  10. 日常记录(4)让百度和google收录我们的网站
  11. XE中rectangle实现渐变
  12. php 判断是否ipv6,PHP IPV6正则表达式验证代码
  13. mysql必知必会第4版pdf百度网盘_SQL必知必会 第4版pdf
  14. PCIe协议在具体实现时的大体框图
  15. Apizza在线接口工具动态绑定API参数依赖
  16. 传智播客黑马程序员Java学习笔记(一)
  17. matlab中zeta函数,黎曼zeta函数是什么,具体点
  18. Java基础系列:判断空指针的三种方式
  19. 全国公众服务电话号码
  20. linux系统scsi硬盘,Linux系统SCSI磁盘管理全攻略(一)

热门文章

  1. Android APP杀不死(最大存活方法)
  2. Windows用户层技术工具与源码分享
  3. jsp与servlet数据交互出现null或???解决方案
  4. 硬件编解码,软件编解码,H.263、H.264、H.265/HEVC概念
  5. 【渝粤题库】陕西师范大学151211 税法与纳税会计 作业(专升本)
  6. 第一届LeetCode刷题打卡赢现金活动开始啦,助力每一位想拿大厂offer的小伙伴!
  7. samba不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接
  8. Discuz首页最后发表帖子地址伪静态
  9. 2022年69 个经典 Spring 面试题和答案,值得收藏
  10. 我今年39岁了, 25岁研究生毕业,工作14年,回头看看,应该说走了不少的弯路