当前课程知识点:大学计算机基础 > 第二章 数据的表示与运算 > 2-10 Unicode编码 > 2-10 Unicode编码
大家已经知道了
ASCII码它是非数值型数据
在计算中的一种编码方法
这一节我们来介绍非数值型数据的
另外一种编码 Unicode编码
ASCII码主要是用于西文字符的表示
而Unicode是国际标准化组织制定的
可以容纳世界上
所有文字和符号的编码方案
它为每种语言当中的每个字符
都设定了统一的
并且唯一的二进制编码
以满足跨语言,跨平台
进行文本转换和处理的要求
Unicode编码也称统一码,万国码
或者单一码
是一种多字节的编码方案
Unicode编码系统
有编码方式和实现方式两个层次
我们先来解释一下Unicode的编码方式
Unicode字符集可以简写为UCS
Unicode有UCS-2和UCS-4两种编码标准
UCS-2用两个字节对各种符号进行编码
而UCS-4是用四个字节进行编码
UCS-4字符集的总体结构
是一个四维的编码空间
整个编码空间有128个组
而每个组又有256个平面
每个平面有256行
每行有256列
即256个代码点
代码点就是可以分配给字符的数字
每个代码点可以编码一个符号
每个符号的UCS-4编码包含4个字节
这4个字节分别表示该符号的代码点
在四维空间当中所在的组,平面,行和列
由于只有128个组
所以UCS-4编码中
最高的字节的最高1位永远是0
在书写Unicode代码点时
我们使用十六进制表示
并且在数字的前面加上U+
UCS-4第0组的第0个平面
被称为基本多语言平面,简称BMP
该平面的256*256
也就是65536个代码点
编码常用的各国文字的字母
标点符号和图形符号等等
基本满足了各种语言的使用
UCS-2就是对BMP符号的编码
将BMP代码点的UCS-4编码
前面两个0字节去掉就得到了UCS-2编码
UCS-2的两个字节
分别表示了代码点在BMP平面的行和列
知道了Unicode的编码方式
我们再来看看Unicode的实现方式
无论是UCS-4还是UCS-2
它只规定了每种符号所在的代码点
即规定了怎么用多个字节
来表示各种文字符号
但是并没有规定这个代码点
它在计算机当中怎么样表示存储和传输
那Unicode编码在计算机中的表示
是由Unicode字符集的转换格式规范
简称为UTF规范规定的
常见的UTF规范
包括UTF-8,UTF-16和UTF-32
下面我们仅以UTF-8为例来介绍一下
UTF-8它以字节为单位
对Unicode进行编码
特别是对不同范围的字符
使用了不同长度的编码
如表所示,大家看到
对于00到7F之间的字符
UTF-8编码和ASCII码完全相同
而UTF-8编码最大的长度是4个字节
举个例子来看
“汉”字的Unicode编码是U+6C49
它的编码在0800到FF之间
因此使用三个字节的模板
在编码之前
我们先将6C49写成二进制的形式
每个十六进制的数
被转换成4位二进制
然后用这些二进制
依次替换模板当中的X
这个位置的X被替换为0110
接下来的四个X被替换为1100
接下来的两个X 01
这两个X对应00
以及后面的四个X为1001
再将这个结果转换成十六进制
于是汉字的“汉”字UTF-8的编码
就为E6B189
UTF-16编码
以16位无符号整数为单位
UTF-32编码
以32位的无符号整数为单位
UTF-32编码就是UCS-4的四个字节
对应的32位无符号整数
目前UTF-8和UTF-16被广泛使用
而UTF-32由于太浪费存储空间了
而很少被使用
Unicode编码是一种多字节字符编码
计算机在存储多字节字符的时候
有一个字节序的问题
也就是说多个字节在存储的时候
它有一个先后次序
字节序有两种
一种叫做大序,简称BE
存放时高位字节在前,低位字节在后
另一种叫做小序,简称LE
低位字节在前,是高位字节在后
UTF-8它以字节为编码单位
没有字节序的问题
而UTF-16以两个字节为编码单元
根据字节序的不同
UTF-16就包含了UTF-16 LE和UTF-16 BE
两种实现方式
同样 UTF-32
也有UTF-32 LE和UTF-32 BE
两种实现方式
在解释一个UTF-16文本前
我们首先要弄清楚
这个编码单元的字节序
例如“奎”字
它的Unicode编码是594E
而“已”字的Unicode编码是4E59
如果我们接收到两个字节
UTF-16的字节流594E
那么是奎字呢 还是乙呢
因此在交流信息时
必须弄清楚对方的信息
采用了什么字节序
这样才能正确地解释对方的信息
Unicode标准建议用字节序标记
简称BOM
来区分字节序
在传输字节流之前
我们先传输被称为BOM的字符
当这个字符的编码是FEFF时
表示这个字节流是大序
如果BOM编码是FFFE
则表示这个字节流是小序
最后我们总结一下
这一节我们介绍了
非数值型数据的Unicode编码
它是一种多字节的编码
为世界各国,各地区的字符
制定了编码方案
我们分别了介绍了Unicode编码方式
UCS-2和UCS-4以及Unicode的实现方式
UTF-8,UTF-16和UTF-32
谢谢大家的观看
-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 无线网络安全配置