国家标准汉字字符集GB2312-80共收集了共7445个汉字和图形符号,其中汉字6763个,分为二级,一级汉字3755个,二级汉字3008个。 汉字图形符号根据其位置将其分为94个“区”,每个区包含94个汉字字符,每个汉字字符又称为一个“位”。区的序号和位的序号都是从01到94。
       UCDOS软件中的文件HZK16和文件ASC16分别为16×16的国标汉字点阵文件和8×16的ASCII码点阵文件,以二进制格式存储。 在文件HZK16中,按汉字区位码从小到大依次存有国标区位码表中的所有汉字,每个汉字占用32个字节,每个区为94个汉字。在文件ASC16中按ASCII码从小到大依次存有8×16的ASCII码点阵,每个ASCII码占用16个字节。
       在PC机的文本文件中,汉字是以 机内码的形式存储的, 每个汉字占用两个字节:第一个字节为区码, 为了与ASCII码区别,范围从十六进制的0A1H开始(小于80H的为ASCII码字符), 对应区位码中区码的第一区;第二个字节为位码,范围也是从0A1H开始,对应某区中的第一个位码。这样,将汉字机内码减去0A0A0H就得该汉字的区位码。
       例如汉字“房”的机内码为十六进制的“B7BF”,其中“B7”表示区码,“BF”表示位码。所以“房”的区位码为0B7BFH-0A0A0H=171FH。将区码和位码分别转换为十进制得汉字“房”的区位码为“2331”,即“房”的点阵位于第23区的第31个字的位置,相当于在文件HZK16中的位置为第32×[(23-1) ×94+(31-1)]=67136B以后的32个字节为“房”的显示点阵。
       ASCII码的显示与汉字的显示原理相同,在ASC16文件中不存在机内码的问题,其显示点阵直接按ASCII码从小到大依次排列,不过每个ASCII码在文本中只占1个字节并且小于80h,每个ASCII码为8X16点阵,即在ASCII16文件中,每个ASCII码的点阵也只占16个字节。
 
背景资料:
       1980年,我国颁布了第一个汉字编码的国家标准: GB2312-80《信息交换用汉字编码字符集》基本集,这个字符集是我国中文信息处理技术的发展基础,也是目前国内所有汉字系统的统一标准。由于国标码是四位十六进制,为了便于交流,大家常用的是四位十进制的区位码。所有的国标汉字与符号组成一个94×94的矩阵。在此方阵中,每一行称为一个"区",每一列称为一个"位",因此,这个方阵实际上组成了一个有94个区(区号分别为0 1到94)、每个区内有94个位(位号分别为01到94)的汉字字符集。一个汉字所在的区号和位号简单地组合在一起就构成了该汉字的"区位码"。在汉字的区位码中,高两位为区号,低两位为位号。在区位码中,01-09区为682个特殊字符,16~87区为汉字区,包含6763个汉字。其中16-55区为一级汉字(3755个最常用的汉字,按拼音字母的次序排列),56-87区为二级汉字(3008个汉字,按部首次序排列)。所以,当我们需要n个任意汉字时,我们不必建一个全部汉字表,而是利用区位码实现常用汉字的提取。

源:http://hi.baidu.com/%B8%F8%EB%DE%CC%ED%CD%EB%B7%B9/blog/item/9b6619907be27e8ba877a42b.html

机内码     
国标码:是指我国1981年公布的“中华人民共和国国家标准信息交换汉字编码”,代号为“GB2312-80”。由连续的两个字节组成。

2.机内码:在计算机内表示汉字的代码是汉字机内码,汉字机内码由国标码演化而来,把表示国标码的两个字节的最高位分别加“1”,就变成汉字机内码

3.输入码:汉字输入码是指直接从键盘输入的各种汉字输入方法的编码,属于外码。

4.字型点阵码:用点阵方式来构造汉字字型,然后存储在计算机内,构成汉字字模库。目的是为了能显示和打印汉字。

(1)区位码先转换成十六进制数表示
(2)(区位码的十六进制表示)+2020H=国标码;
(3)国标码+8080H=机内码

汉字的机内码是指在计算机中表示一个汉字的编码。机内码与区位码稍有区别。汉字区位码的区码和位码的取值均在1~94之间,如直接用区位码作为机内码,就会与基本ASCII码混淆。为了避免机内码与基本ASCII码的冲突,需要避开基本ASCII码中的控制码(00H~1FH),还需与基本ASCII码中的字符相区别。为了实现这两点,可以先在区码和位码分别加上20H,在此基础上再加80H(此处“H”表示前两位数字为十六进制数)。经过这些处理,用机内码表示一个汉字需要占两个字节,分别  称为高位字节和低位字节,这两位字节的机内码按如下规则表示:
    高位字节=区码+20H+80H(或区码+A0H)
    低位字节=位码+20H+80H(或位码+AOH)
    由于汉字的区码与位码的取值范围的十六进制数均为01H~5EH(即十进制的01~94),所以汉字的高位字节与低位字节的取值范围则为A1H~FEH(即十进制的161~254)。
    例如,汉字“啊”的区位码为1601,区码和位码分别用十六进制表示即为1001H,它的机内码的高位字节为B0H,低位字节为A1H,机内码就是B0A1H。

2603 =     1A03H     区位码

+ A0A0H

=             BAA3H     机内码

汉字的编码知识
信息编码各国有各国不同的编码,国际上统一使用的编码为ASCII(美国标准信息交换代码),我国使用的有国标码BG(中文),和BIG5(中文繁体)两种。

附带要知道:中文字库(字库文件名,大小,扩展名,存放位置)
            中文输入方法(语音输入,键盘输入,手写输入,扫描输入等)

1.汉字的编码

(1)国标码:是指我国1980年公布的“信息交换汉字编码字符集”,代号为“GB2312-80”。由连续的两个字节组成。

(2)机内码:在计算机内表示汉字的代码是汉字机内码,汉字机内码由国标码演化而来,把表示国标码的两个字节的最高位分别加“1”,就变成汉字机内码。

(3)输入码:汉字输入码是指直接从键盘输入的各种汉字输入方法的编码,属于外码。

(4)字型点阵码:用点阵方式来构造汉字字型,然后存储在计算机内,构成汉字字模库。目的是为了能显示和打印汉字。

编码的转换举例
  汉字 区位码 16进制  国标码  机内码
  文  4636  2E24H  4E44H   CEC4H

“文”的区位码为4636,区码和位码分别用16进制表示即为“2E24H”, 0010 1110 0010 0100转换成国标码“4E44H”,0100 1110 0100 0100机内码为“CEC4H”, 1100 1110 1100 0100

2.汉字的输入方法

汉字输入方法目前有两大类四种。

(1)键盘输入法。这是最常用的,利用各种汉字输入方法的编码敲击键盘来输入汉字;

(2)非键盘输入法。目前主要有三种方法。

手写笔输入法:利用汉字识别技术,通过书写笔在感应板上书写汉字把其输入的方法。

语音输入法:利用语音识别技术,通过口说来输入汉字。

扫描识别输入,是将印或写在纸上的汉字通过扫描仪输入计算机,再经相应软件处理后转换成汉字机内码。

3.汉字字符集的概念

有两种汉字字符集。

(1)国标码字符集GB2312-80:该字符集收录了6763个常用汉字,其中一级汉字3755个,二级汉字3008个。另外还收录了各种符号682个,合计7445个。

(2)GBK汉字集:GBK即汉字扩充内码规范,又称大字符集,一共收录了20900个汉字。在Windows简体中文版中,又增加了101个补充字,一共有21001个字。它包容了GB2312-80的6763个常用汉字,台湾BIG5码收录了13000多个汉字,是目前见到的收录汉字最多的汉字系统

ASCII码和汉字码相关推荐

  1. 2.1.4 什么是ASCII码?汉字的表示和编码是怎样的?

    文章目录: 1.什么是ASCII码? 2.汉字的表示和编码是怎样的? 1.什么是ASCII码? 我们知道我们日常见到的数字(0~9).符号比如:#.%.+.@等.英语字母如:(A~z).(a~z),它 ...

  2. 计算机底层:ASCII码、区位码、国标码、汉字机内码,还有字形码和输入输出编码之间的关系以及介绍

    计算机底层:ASCII.区位码.国标码.汉字机内码之间的关系,还有字形码和输入输出编码之间的关系以及介绍 键盘上有:数字.字母.符合.这些都称作为字符,而它们的组合就叫做:字符串. ASCII 键盘上 ...

  3. java 外码 内码_什么是汉字的内码、外码、交换码、字形码?

    展开全部 1.内码是指计算机汉字系统中使用的二进制字符编码,是沟通输入.输62616964757a686964616fe78988e69d8331333433616234出与系统平台之间的交换码,通过 ...

  4. vc 文字转换到机内码,输入汉字和数字, 输出一串16进制码(数字-〉ASII码,汉字—〉国标码)...

    // 可以用,此程序实现的是是文字转换到机内码.机内码=国标码+8080H,不过学习了.//此程序是利用汉字在机器内输出就是机内码的原理,直接保存的,其实挺简单.//输入一串汉字和数字的混合字符, 经 ...

  5. 浅谈ASCII码、unicode码等

    文章目录 背景 ASCII码 小结 背景 总是会混淆ASCII码和Unicode码,本文对此进行一个简要的分析 ASCII码 定义:ASCII ((American Standard Code for ...

  6. 汉字编码与编程相关问题总结:ASCII、机内码、区位码、国标码、Unicode码他们之间是如何转换的

    一.ASCII.机内码.区位码.国标码.Unicode码他们之间是如何转换的,方程式是什么 汉字系统中的过程包括区位码.国标码和机内码,其中的转换关系如下: 1.区位码(十进制)转换成区位码(十六进制 ...

  7. 汉字编码与编程相关问题总结:ASCII、机内码、区位码、国标码、Unicode码是如何转换的

    一.ASCII.机内码.区位码.国标码.Unicode码他们之间是如何转换的,方程式是什么 汉字系统中的过程包括区位码.国标码和机内码,其中的转换关系如下: 1.区位码(十进制)转换成区位码(十六进制 ...

  8. 字符编码(ASCII码、音码、形码、区位码,国标码、机内码,字形码)

    1.西文字符编码   ASCII(美国信息交换标准代码)字符编码,该编码标准已经被国际标准化组织(ISO)指定为国际标准,是国际上使用最广泛的一种字符编码.标准的ASCII码采用二进制编码,他可以表示 ...

  9. 字符,字节和编码, ASCII码, DBCS码,SBCS码 与Unicode码

    字符,字节和编码, ASCII码, DBCS码,SBCS码 与Unicode码 http://www.regexlab.com/zh/encoding.htm 1. 编码问题的由来,相关概念的理解 1 ...

最新文章

  1. type=file的未选择任何文件修改_PDF文件怎样输入到CAD图纸中?懂得这个功能可以快速实现...
  2. Vim Vundle 插件管理器
  3. kali 改root_Kali Linux 将默认以非 root 身份运行
  4. (总结)Nginx配置文件nginx.conf中文详解
  5. 物联网安全威胁及应对措施
  6. mysql 4 中文模糊查询_解决MySQL中文模糊查询问题
  7. 弹出模态窗口,关闭并刷新页面
  8. python定义fmax_Python标准库:内置函数max(iterable, *[, key, default])说明
  9. 方法调用_thinkphp跨模块调用方法
  10. 为什么有些WIFI不能用万能钥匙搜索到?怎么才能破解邻居家的WIFI密码?
  11. eclipse每次闪退后都提示查看\workspace\.metadata\.log
  12. 快速稀疏角点光流框架(Fast sparse corner optical flow framework)
  13. AWS AI网络研讨会 webinar - Case 分享
  14. 这些单晶XRD测试问题你了解吗?(一)
  15. C# 获取硬盘序列号
  16. extjs6 带条件查询分页
  17. 华为交换机5720常用命令
  18. 庄懂着色器_L19_顶点动画
  19. h5 nan_易企秀资深前端架构师袁飞:移动H5开发如何避坑
  20. Graphics2D的使用详情

热门文章

  1. 安装算量软件消火栓系统_识别其他设备
  2. RNA-seq 详细教程:实验设计(2)
  3. 最新车载CarPlay盒子中方案内部配置参数
  4. GNU C++ 智能指针4-- 解析_Sp_counted_ptr类
  5. 销售使用企业微信SCRM管理系统有什么好处
  6. (python)基于GUI编写摄氏度转华氏度
  7. SDH,OTN,IP,MPLS,ATM网络介绍
  8. TL-WR720N路由器Android安卓不能连接外网问题解决
  9. 教程 | 用安卓手机搭建 web 服务器(三)—— 内网穿透
  10. 华为云APIG限流控制