当前课程知识点:大学计算机基础 > 第二章 数据的表示与运算 > 2-11汉字编码 > 2-11汉字编码
大家已经知道了
西文字符在计算机中的编码方案
ASCII码
以及用于编码
世界上每一种语言当中字符的Unicode编码
本节我们来介绍汉字编码
任何信息在计算机当中
都以二进制的形式存在
汉字要被计算机存储和处理
也必须进行二进制编码
为每个汉字分配一个唯一的二进制代码
汉字信息处理系统
对汉字的处理主要包括输入,存储,编码
传输和输出
整个处理过程当中主要涉及到三种编码
汉字的输入码,汉字的机内码
以及汉字的字形码
汉字输入码
是将汉字输入到计算机当中的方法
包括区位输入法
字形输入法
拼音输入法和混合输入法等等
汉字机内码是在计算机当中
存储,编辑汉字及传输汉字的编码
而汉字的字形码是汉字的输出码
用于将汉字显示在屏幕上或者输出打印
这一节我们主要介绍
汉字的机内码和字形码
首先来看汉字的输出编码,字形码
汉字的字形码也称为字模
记录了汉字的形状信息
我们把存储汉字的字模的文件称为汉字库
汉字输出时采用的是图形的方式
无论汉字的比划有多少
每个汉字都被看作
同样大小的方块当中的图形
汉字的字形码通常有两种表示方式
点阵表示方式和矢量表示方式
所谓点阵表示方式就是将每个汉字字符
看成是一个矩形框内当中
一些横竖排列的点的集合
例如,在这张图当中,我们看到宋体的华字
在矩形框当中,有笔划的位置用黑点表示
没比划的位置用白点表示
在计算机当中
我们用一组二进制数来表示点阵
0表示白点,1表示黑点
一般的汉字字形点阵
有16×16,24×24,48×48几种
点阵越大,每个汉字的比划就越清晰
打印质量也就越高
但占用的存储空间就会更多
假设用16×16的点阵来存储汉字字模
那每一行上16个点就需要两个字节
那一个16×16的点阵的汉字字模
就需要2×16 32个字节来表示了
点阵字库的特点
是用点的虚实来表示汉字的轮廓形状信息
显示速度快
常用于屏幕的显示
和针式打印机字库的使用
但字库占用的存储空间太大
汉字不能缩放
一旦放大以后
就会发现显示出来的汉字的边缘
就会出现锯齿
下面我们再来看看
另外一种汉字字形码的表示方式
叫做矢量方式
矢量方式它保存的
是对一个汉字的描述信息
比如,一个比划的起始
它的终止的坐标,半径,弧度等等
矢量方式的特点是
记录比划的轮廓信息
在显示,打印的时候
要经过一系列的数学运算
显示的速度比较慢
但矢量字库占用的存储空间小
可以任意地缩放
激光打印机和绘图仪上
使用的字库就多为矢量字库
现在我们知道了汉字输出的字形码
当采用某种输入编码
将汉字输入到计算机后
在计算机内部要用一个二进制数
来存储汉字
我们将这个二进制数就称为汉字的机内码
下面我们来介绍汉字的机内码
常用的汉字机内编码
有GB2312-80标准
GBK标准
GB18030标准
以及BIG5编码
我们主要介绍一下GB2312-80编码
1981年我国国家标准局颁布了
信息交换用汉字编码字符集
代号为GB2312-80
也称为国标码
它共对6763个汉字和682个图形字符
进行了编码
编码的原则是每个汉字或图形字符
用两个字节来表示
每个字节只用到了它的低七位的编码
最高位为0
GB2312它将整个汉字的字符集
分成了94个区
每个区又有94个位
每个区位上放置1个字符
因此我们可以用所在的区号和位号
来对汉字进行编码
称为区位码
但是国标码不等同于区位码
它是由区位码稍作变换得到的
国标码的第一个字节
是十六进制的区号加上20H
第二个字节是十六进制的位号加上20H
这是国标码和区位码的对照关系
为什么国标码要在区位码的区号和位号上
分别加上20H呢
这是因为我们已经知道ASCII码表当中
代码0-31以及127
共33个代码是控制字符或通讯专用字符
这些控制字符在汉字编码当中被继续使用
七位二进制数我们知道能编码128个符号
128减去33等于95
那可供中文使用的是95个状态 从0-94
把区位码加上2020H
就使得国标码的两个字节
都是从32到126
保证了与ASCII码表当中代表0-31
以及127对应的控制字符没有冲突
由于区号和位号最大为94
那加上20H也就是十进制的32之后
也小于128
所以国标码的两个字节都小于128
那这两个字节的最高位都为0
而标准ASCII码的编码从0-127
当我们用一个字节
来存放一个ASCII码字符的时候
字节的最高一位也固定为0
这样就不能区分ASCII码和汉字编码了
举个例子来看
“保”字的区位码用十进制表示是1703
我们首先将十进制的17和03
转换成十六进制
17对应的十六进制是11
03对应的十六进制是03
国标码是把区位码两个字节分别加上20H
于是我们得到的国标码
结果是3123H
汉字的机内码与国标码的对应关系是
机内码的第一个字节
是国标码的第一个字节加上80H
机内码的第二个字节
是国标码的第二个字节加上80H
我们看一下
刚才得到的“保”字的国标码是3123H
那机内码的计算,我们是在3123的
两个字节上分别加上8080H
8加3得到的结果11
用十六进制表示就是B1
8加2等于10
用十六进制表示代表的是A
然后是3
于是“保”字的机内码表示就是B1A3H
我们再看一个例子
“大”的区位码用十进制表示是2083
我们求一下“大”的国标码和机内码表示
首先因为区位码是用十进制表示的
我们先将十进制的区位码转换成十六进制
20对应的十六进制数是14
83对应的十六进制数是53
在求国标码的时候
我们在两个字节的区位码的基础上
分别加上20H
得到的结果是3743
在求机内码的时候
我们再在国标码的基础上
将它的两个字节分别加上80H
得到的结果是B4F3
当在计算机中编辑文本时
如果输入一个汉字
计算机就保存这个汉字的机内码
如果输入一个英文字母
就保存这个字母的ASCII码
而当读取一个文本时
通常是从前向后依次读取每个字节
当遇到最高位为1的字节
那便将这个字节连通它后面那个最高位
也是为1的这个字节
把它合到一起看作一个汉字
而当遇到最高位是0的字节
那就把这个字节
看作是一个ASCII码的西文字符
这样就实现了汉字,西文字符的
共存和区分
我们来看一个例子
打开Windows的记事本程序
先输入英文字母ABC
回车之后,我们输入数字123
回车之后,输入汉字“华南”
接着我们用UltraEdit打开刚才编辑的文件
切换到十六进制显示模式
我们看到41 42 43
分别是英文字母ABC的ASCII码
0D和0A分别是回车换行的ASCII码
当在键盘上输入回车符时
Windows在文件中
会保存回车和换行两个符号
接下来31 32 33
分别是数字123的ASCII码
它之后又是回车换行符
接下来BB AA C4 CF
是汉字华南的机内码
从这个例子可以看到
当在文件中输入英文字母时
会保存它对应的ASCII码
每个ASCII码保存为一个字节
当输入汉字时,汉字会保存为其机内码
每个汉字保存为两个字节
最后我们最总结一下
这一节我们介绍了汉字的编码
包括汉字的输入码,汉字的机内码
以及汉字的字形码
汉字输入码
是用于汉字输入到计算机的编码
字形码是汉字输出的编码
有点阵和矢量两种方式
而机内码
是用于汉字的存储,编辑和传输的编码
在国家标准信息交换用汉字编码
GB2312-80标准当中
涉及到了国标码,区位码和机内码
三个概念
它们的含义分别是这样的
国标码是GB2312-80的简称
用两个七位二进制数编码一个汉字
区位码是一个94×94的方阵
其中每行叫做一个区,每列叫做一个位
组合起来就构成了区位码
区位码为每个汉字
分配了一个全国统一的代码
那机内码是计算机当中存储的汉字编码
相当于ASCII码
国标码,区位码和机内码
它们之间的关系是这样的
国标码等于十六进制的区位码+2020H
而机内码又等于国标码+8080H
谢谢大家的观看
-1-1 计算机的诞生
--第一章 习题1
--计算机的诞生1
--计算机的诞生2
-1-2 计算机的分类
--第一章 习题2
--计算机的分类
-1-3 计算机的应用领域
--第一章 习题3
-1-4 计算机系统组成
--第一章 习题4
--计算机系统组成1
--计算机系统组成2
-1-5 计算机思维的定义
--第一章 习题5
--计算思维1
-1-6 计算思维的特点
--第一章 习题6
--计算思维2
-1-7 计算思维的应用案例
--第一章 习题7
--计算思维3
-第一章 章测试
-2-1 进位计数制表示方法
--第二章 习题1
-2-2 进位计数制的相互转换
--第二章 习题2
--进位计数制2
-2-3 整数的表示方法
--第二章 习题3
--整数的表示1
-2-4 浮点数表示方法
--第二章 习题4
--浮点数的表示1
-2-5 BCD格式表示法
--第二章 习题5
--BCD码
-2-6 算术运算
--2-6 算术运算
--第二章 习题6
-2-7 运算溢出及判断
--第二章 习题7
--运算的溢出
-2-8 逻辑运算
--2-8 逻辑运算
--第二章 习题8
--逻辑运算
-2-9 ASCII编码
--第二章 习题9
-2-10 Unicode编码
--第二章 习题10
-2-11汉字编码
--2-11汉字编码
--第二章 习题11
--汉字编码
-2-12数据校验编码
--第二章 习题12
--数据校验编码
-第二章 章测试
-3-1中央处理器
--3-1中央处理器
--第三章 习题1
--中央处理器
-3-2 存储器
--3-2 存储器
--第三章 习题2
--存储器1
--存储器2
--存储器3
-3-3 总线和接口
--第三章 习题3
--总线
-3-4 外部设备
--3-4 外部设备
--第三章 习题4
--外部设备
-3-5 冯.诺依曼体系结构
--第三章 习题5
-3-6 计算机常用性能指标
--第三章 习题6
--性能指标1
--性能指标2
-3-7嵌入式系统
--第三章 习题7
--嵌入式系统
-3-8哈佛体系结构
--第三章 习题8
--哈佛体系结构
-3-9 DSP简介
--3-9DSP简介
--第三章 习题9
--DSP
-3-10 虚拟台式计算机模拟器
--虚拟桌面架构
-3-11 4位计算机模拟器
-第三章 章测试
-4-1计算机软件分类
--第四章 习题1
--软件分类
-4-2软件的工作模式
--第四章 习题2
--软件的工作模式
-4-3软件的安装方法
--第四章 习题3
--软件安装
-4-4计算机软件生命周期
--第四章 习题4
--生命周期1
--生命周期2
--生命周期3
--软件测试1
--软件测试2
-4-5计算机软件开发过程模型
--第四章 习题5
- 4-6 常用软件介绍-办公软件
--第四章 习题6
-办公软件实例1 文字处理软件
-办公软件实例2 电子表格软件
-办公软件实例3 演示文稿软件
-4-7 常用软件介绍-多媒体创作软件
--第四章 习题7
-多媒体创作软件实例1 音频处理软件
-多媒体创作软件实例2 图像处理软件
-多媒体创作软件实例3 动画制作软件
-多媒体创作软件实例4 视频处理软件
-4-8 常用软件介绍-网页制作软件
--第四章 习题8
-第四章 章测试
-5-1 操作系统概述
--第五章 习题1
--操作系统
--操作系统分类
--操作系统管理
-5-2 Windows 7基本操作
--第五章 习题2
-5-3 Windows 7文件管理
--第五章 习题3
-5-4 Windows 7程序管理
--第五章 习题4
-5-5 Windows 7系统安全
--第五章 习题5
--操作系统安全
-5-6 Windows 7计算机管理
--第五章 习题6
-5-7 Dos命令
--第五章 习题7
--dos
-5-8 Windows 7常用软件
--第五章 习题8
-5-9 Linux操作系统
--第五章 习题9
--Linux
-5-10 手机操作系统
--第五章 习题10
-5-11 虚拟机及Vmware介绍
--第五章 习题11
--虚拟机
--虚拟机使用
-第五章 章测试
-6-1 算法基础
--6-1 算法基础
--第六章 习题1
-6-2 程序设计语言分类
--第六章 习题2
-6-3 程序设计过程
--第六章 习题3
-6-4 程序设计方法
--第六章 习题4
-6-5 程序设计语言基本要素(一)
--第六章 习题5
-6-6 程序设计语言基本要素(二)
--第六章 习题6
-6-7 Python简介及编程环境配置
--第六章 习题7
-6-8 程序设计应用举例
--第六章 习题8
-第六章 章测验
-7-1 数据库技术概述
--第七章 习题1
--信息和数据
-7-2 数据库管理系统
--第七章 习题2
--数据库管理系统
-7-3 数据库系统的组成与功能
--第七章 习题3
--独立性
--数据库系统分类
-7-4 关系模型的数据结构
--第七章 习题4
--E-R图
--三级模式结构
-7-5 关系模型的数据操作及完整性约束
--第七章 习题5
--关系模型
--数据库范式
--完整性约束
-7-6 Access数据库的建立
--第七章 习题6
--Access
-7-7 Access的数据查询
--第七章 习题7
-第七章 章测试
-8-1计算机网络概述
--第八章 习题1
--定义
-8-2网络分类
--8-2网络分类
--第八章 习题2
--分类
-8-3数据传输
--8-3数据传输
--第八章 习题3
--数据传输
-8-4网络拓扑结构
--第八章 习题4
--网络拓扑结构
-8-5网络体系结构
--第八章 习题5
--网络体系结构
-8-6网络互连
--8-6网络互连
--第八章 习题6
--网络互连
-8-7Internet基础:TCP╱IP协议结构
--第八章 习题7
--TCP/IP模型
--IP协议
-8-8Internet基础:IP地址
--第八章 习题8
--IP地址
-8-9Internet基础:域名系统
--第八章 习题9
--域名
-8-10Internet基础:Internet的基本服务
--8-10Internet基础:Internet的基本服务
--第八章 习题10
--Internet
-8-11Internet基础:Internet的接入
--第八章 习题11
-第八章 章测试
-9-1信息安全的基本概念
--第九章 习题1
--信息安全的CIA
--攻击与防御
-9-2 密码技术及应用
--第九章 习题2
--数字签名
-9-3防火墙技术
--9-3防火墙技术
--第九章 习题3
--防火墙的分类
--防火墙的基本特性
-9-4恶意软件
--9-4恶意软件
--第九章 习题4
--恶意软件类型
-9-5入侵检测技术
--第九章 习题5
--入侵检测概念原理
--入侵检测分类
-第九章 章测试
-10-1 云计算
--10-1 云计算
--第十章 习题1
-10-2大数据
--10-2大数据
--第十章 习题2
-10-3物联网
--10-3物联网
--第十章 习题3
-10-4机器学习
--10-4机器学习
--第十章 习题4
-10-5人工智能
--10-5人工智能
--第十章 习题5
-10-6物联网应用
-第十章 章测验
-1-0 准备步骤
--1-0 准备步骤
-1-1 台式机组装
-1-2 笔记本电脑组装
-3-1 启动和退出Word
-3-2 创建、编辑和保存Word文档
-3-3 封面的制作
--封面的制作-1
--封面的制作-2
--封面的制作-3
--封面的制作-4
-3-4 长文档编辑
--长文档编辑
-3-5 页面插入与目录
-3-6 页眉页脚与页码
-3-7 完成文档
-4-1 创建和编辑Excel表格
-4-2 简单公式和函数
-4-3 插入图表
--4-3 插入图表
-4-4 电子表格中数据的管理
-5-1 创建演示文稿与添加幻灯片
-5-2 编辑演示文稿
-5-3 设置演示文稿外观
-5-4 交互式演示文稿的设置
-5-5 设置演示文稿动画和音乐
-5-6 演示文稿放映
-6-1 图像的修饰
-6-2 淡黄色的记忆
-6-3 心形贺卡
--6-3 心形贺卡
-6-4 燃烧字
--6-4 燃烧字
-6-5 闻味的小狗狗
-6-6 换脸
--6-6 换脸
-7-1 逐帧动画的制作
-7-2 动作补间动画的制作
-7-3 形状补间动画的制作
-8-1 网站制作前期工作
-8-2 在Dreamweaver中建立和管理站点
-8-3设计制作网站主页
-8-4 制作网站导航栏
-8-5 修饰美化页面
-8-6 填写页面内容
-8-7 设计制作次级页面并建立链接
-9-1 Python的下载
-9-2 Python的安装
-9-3 IDLE的使用
-9-4 求矩形的周长和面积
-9-5 求三角形的面积
-9-6 求素数
--9-6 求素数
-10-1 数据库的建立
-10-2 SQL的应用
-11-1 Packet Tracer简介及下载方法
-11-2 有线网络的组网与配置
-11-3 无线网络的组网及无线路由配置
-12 无线网络安全配置