第一篇 媒体 第2章 文字 第3章 音频 第4章 图形与图像 第5章 动画 第6章 视频与编码标准 输入、编码、输出

Slides:



Advertisements
Similar presentations
3 的倍数的特征 的倍数有 : 。 5 的倍数有 : 。 既是 2 的倍数又是 5 的倍数有 : 。 12 , 18 , 20 , 48 , 60 , 72 , , 25 , 60 ,
Advertisements

0/40 符号( symbol )编码  1 字符编码  2 汉字编码  3 其他编码. 1/40 一、字符编码- ASCII 码 American Standard Code Information Interchange ,美国标准信息交换码; 由美国国家标准化协会 ANSI( American.
练一练: 在数轴上画出表示下列各数的点, 并指出这些点相互间的关系: -6 , 6 , -3 , 3 , -1.5, 1.5.
——Windows98与Office2000(第二版) 林卓然编著 中山大学出版社
汉字编码 汉字编码.
计算机发展早期主要用于科学计算,现在计算机在日常生活的应用主要是处理非数值信息,那计算机如何表示以及处理非数值信息的?
5.1 文本与文本处理 5.2 图像与图形 5.3 数字声音及应用 5.4 数字视频及应用
Unicode和多语言信息处理 adoal.
计算机编码概述 报告人:刘汇丹 2011年11月26日.
UI(用户界面)集训班 Illustrator 高级班.
PRESENTED BY OfficePLUS
正则表达式一点通:正则中的中文.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
在PHP和MYSQL中实现完美的中文显示
计算机基础知识 丁家营镇九年制学校 徐中先.
                                                                                                                                                                
ACROBAT使用简介 ——图书馆1小时讲座.
Windows 8 more simple more powerful more free.
R in Enterprise Environment 企业环境中的R
存储系统.
管理信息结构SMI.
走进编程 程序的顺序结构(二).
网络常用常用命令 课件制作人:谢希仁.
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
以ISI平台为例,为您演示一下如何在Endnote文献中查看该文献的References
第17章 网站发布.
逆向工程-汇编语言
绿色圃中小学教育网 比例 比例的意义 绿色圃中小学教育网
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
本节内容 字符编码 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C语言程序设计 主讲教师:陆幼利.
学习目标 1、什么是字符集 2、字符集四个级别 3、如何选择字符集.
微机系统的组成.
产品推广 PRODUCT PROMOTION PRESENTED BY OfficePLUS.
PRESENTED BY OfficePLUS
VisComposer 2019/4/17.
WPT MRC. WPT MRC 由题目引出的几个问题 1.做MRC-WPT的多了,与其他文章的区别是什么? 2.Charging Control的手段是什么? 3.Power Reigon是什么东西?
中国国家标准文献 共享服务平台检索 信息检索与利用 2019/4/29 王婧怡 图书馆615室 科技信息研究所
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
项目二:HTML语言基础.
本节内容 Win32 API中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第4章 Excel电子表格制作软件 4.4 函数(一).
iSIGHT 基本培训 使用 Excel的栅栏问题
§6.7 子空间的直和 一、直和的定义 二、直和的判定 三、多个子空间的直和.
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
Topic 1 Welcome to China! Section A.
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
Python 环境搭建 基于Anaconda和VSCode.
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
数据表示 第 2 讲.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
第四章 UNIX文件系统.
微机原理与接口技术 西安邮电大学计算机学院 董 梁.
第十七讲 密码执行(1).
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
入侵检测技术 大连理工大学软件学院 毕玲.
LOGO HERE 单击此处添加 您的标题标题标题 PRESENTED BY JANE DOE
白︽ 百︽ 摆︽ 柏︽ 白︽ 柏︽ 百︽ 摆﹀. 白︽ 百︽ 摆︽ 柏︽ 白︽ 柏︽ 百︽ 摆﹀
学习目标 1、什么是列类型 2、列类型之数值类型.
Presentation transcript:

第一篇 媒体 第2章 文字 第3章 音频 第4章 图形与图像 第5章 动画 第6章 视频与编码标准 输入、编码、输出 第一篇 媒体 第2章 文字 输入、编码、输出 第3章 音频 频率、数字化、格式、MIDI、声卡、编码 第4章 图形与图像 种类、颜色、属性、格式、3D、显卡 第5章 动画 概述、传统动画、计算机动画、制作、动画描述语言、OpenGL 第6章 视频与编码标准 电视、视频数字化、编码标准、MPEG/H.26x、AVS[+]

常见媒体

第2章 文字 2.1 文字输入 2.2 字符编码 2.3 文字输出 键盘输入、手写输入、语音输入、扫描输入 西文编码、中文编码、国际编码 第2章 文字 2.1 文字输入 键盘输入、手写输入、语音输入、扫描输入 2.2 字符编码 西文编码、中文编码、国际编码 2.3 文字输出 字形技术、语音合成

文字 文字是语言的记录,可以分为拼音文字(如英文)和象形文字(如中文)两大类,各类文字都是用图形符号(如字母和汉字)来表示的 在多媒体技术出现之前,文字是人们书面交流的主要手段。在多媒体技术得到广泛应用的今天,文字也是最重要的媒体元素之一 计算机对文字的处理,包括文字的输入、编码与输出 本章依次介绍文字输入、字符编码与文字输出,重点放在汉字编码标准之上

2.1 文字输入 将文字录入进计算机的方法主要有键盘输入、手写输入、语音输入和扫描识别输入 键盘输入是传统和主要的文字录入手段 2.1 文字输入 将文字录入进计算机的方法主要有键盘输入、手写输入、语音输入和扫描识别输入 键盘输入是传统和主要的文字录入手段 随着计算机技术的发展,方便和快速的手写与语音输入成为解决文字输入瓶颈的有效途径 扫描输入主要应用在印刷品的大量文字自动录入方面

2.1.1 键盘输入 计算机的通用键盘源自传统的打字机,本身是为英文字母的键入而设计的,非常适合于拼音文字的字母输入。而像汉字这样的象形文字,用键盘输入则十分困难 汉字的三个要素是形、音、义。汉字的编码输入主要可以分为形码(如五笔字型)和音码(如全拼)两大类。各种形码和音码输入法,可以结合汉字的词义与语义特性,进行词汇与整句等智能化的输入(如微软拼音输入法)

2.1.2 手写输入 随着各种手持设备(如平板电脑、智能手机)的不断出现与普遍使用,联机手写文字的实时识别与输入方法已经得到越来越广泛的应用 2.1.2 手写输入 随着各种手持设备(如平板电脑、智能手机)的不断出现与普遍使用,联机手写文字的实时识别与输入方法已经得到越来越广泛的应用 手写输入是指,人用手指或(特制的)笔在图形板上书写,机器进行实时的识别,并将对应文字的编码输入。 汉字的联机手写输入是自动汉字识别中最简单的一种

特点 机器识别的是笔画而不是整字 识别结果可以及时反馈,所以对识别率要求不高 输入方便,不需对输入人员进行培训 适合于边想边写 可利用图形板方便地进行编辑和修改

技术 人写字时手的抖动、书写速度的变化、图形板的量化和感应噪声等,会对识别产生干扰,因此,必须进行必要的平滑和去噪预处理 识别时还需进行字符分割,以区分哪些笔画属于同一汉字 手写输入在技术涉及图像识别、模式匹配、人工智能、语言文字、书写方式与习惯等方面的知识和方法 目前的手写识别方法和技术,还有待于进一步改进和完善,以提高识别率、减少对输入的限制、降低输入设备和识别软件的成本、加强软件的自学习功能

2.1.3 语音输入 语音输入是指,利用语音内容的识别技术,将人的话音实时转换为对应文字编码并录入计算机 语音输入的核心技术是语音识别技术 2.1.3 语音输入 语音输入是指,利用语音内容的识别技术,将人的话音实时转换为对应文字编码并录入计算机 语音输入的核心技术是语音识别技术 语音识别技术,现在正在发展过程中,还有待于进一步完善

语音识别技术 早期的语音识别,技术一直很落后。到上世纪70年代中,采用线性预测编码LPC和同态信号处理(homomorphic signal process)方法,技术有了长足的进步,但效果不理想。到了上世纪80年代,矢量量化(VQ, Vector Quantization)和隐马尔科夫模型(HMM, Hidden Markov Model)的成功使用,使语音识别在上世纪90年代达到了商用化程度。不过仍然存在问题,识别率一直难以进一步提高,又进入了相对低潮的相持阶段。2011年10月14日苹果公司推出的iPhone 4S手机支持智能语音指令输入,虽然还存在不少问题,但是却引发了业界对语音输入研究和应用的新热潮。 语音输入的字词识别,涉及词库、声母分类规则库、声母与韵母结合规则库、声调知识库,这些统称为声学基元模型库;句子识别还涉及语义、语法、句法、语用知识库,这些统称为语言模型库;句子理解则涉及常识库(难!!!)

语音识别的过程图 语音输入 ↓ 数据采集 波形自动分析 预处理/参数特征提取 分帧后的语音特征矢量集合→↓ 声学模型/时间对准←声学基元模型库 语言模型库→ 组句分析 ←统计信息与规则 语句候选→↓ 识别语句输出

语音识别系统分类 按可识别词汇量可分为 按语音输入方式可分为 按发言人类型可分为 语音识别的目标是开发大词汇量、非特定人的连续语音识别系统 小词汇量语音识别系统(<100) 中词汇量语音识别系统(100~1000) 大词汇量语音识别系统(>1000) 按语音输入方式可分为 孤立词语音识别系统(简单) 连接词语音识别系统(较难) 连续语音语音识别系统(难) 按发言人类型可分为 特定人(1人) 限定人(n人) 非特定人(任意人) 语音识别的目标是开发大词汇量、非特定人的连续语音识别系统

2.1.4 扫描输入 扫描输入是指,将图书、期刊、打印材料和印刷品中的印刷体文字,先通过扫描仪变成计算机中的数字图像,然后再利用文字识别软件OCR自动转换成对应得文字编码并录入计算机 目前我国研制的多种OCR软件的识别率已经达到95%以上,不过受印刷品质量的影响比较大 OCR = Optical Character Recognition / Reader ,光学字符识别/阅读器

计算机识别印刷汉字的核心问题是抓住汉字的字形特征,它主要体现在笔画和关键点上 另一个核心问题是版面的分析与理解,包括从图文混排版面中自动排除图形部分、自动区分横排和竖排、自动识别标题和正文、对分栏文本实现自动对接等 扫描输入方法除了用于印刷体文字的识别和输入外,也可以用于手写体印刷文字的输入,其文字识别的方法与印刷体文字类似。也与手写实时输入的方法相关,不过失去了笔顺信息,属于整字识别类型

2.2 字符编码 字符编码包括西文编码、中文编码和国际通用字符编码,本节的重点放在常用的编码标准上 2.2.1 西文编码(ASCII等) 2.2 字符编码 字符编码包括西文编码、中文编码和国际通用字符编码,本节的重点放在常用的编码标准上 2.2.1 西文编码(ASCII等) 2.2.2 中文编码(GB 2312、GB 13000、GBK/GB 18030) 2.2.3 国际通用字符编码(Unicode、ISO/IEC 10646 )

2.2.1 西文编码 西文编码主要介绍ASCII字符集,然后简单介绍IBM公司的EBCDIC和两种扩展ASCII显示字符表 1.ASCII 2.2.1 西文编码 西文编码主要介绍ASCII字符集,然后简单介绍IBM公司的EBCDIC和两种扩展ASCII显示字符表 1.ASCII 2.EBCDIC 3.扩展ASCII显示字符

1.ASCII ASCII(American Standard Code for Information Interchange,美国信息交换标准码)是ANSI于1963年提出、1968年确定的一种英文字符编码标准(ANSI X3.4-1986),广泛应用于计算机、网络和信息产业 ANSI = American National Standards Institute,美国国家标准协会 ASCII采用7位二进制数的(共计128个)代码来表示字符(包括图示符和控制符),加上奇偶校验位(或最高位置0),则每个字符由8位(一个字节)组成

ASCII字符集 ASCII字符集以32个字符为一组 第一组(0x00~0x1F)为控制符(非打印符),用于数据处理/通信系统及其相应设备中的信息交换 后面的除了第一个字符(SP空格符0x20)和最后一个字符(DEL删除符0x7F)外,全都是可打印(显示)的图示符,包括: 第二组(0x20 ~0x6F)的数字、空格和常用标点符号 第三组(0x40~0x5F)的大写拉丁字母(即英文字母)与少数标点符号 第四组(0x60~0x7F)的小写拉丁字母与少数标点符号

ASCII的国际标准 1972年,美国的国家标准ASCII与其若干拉丁语系国家的变体,一起成为国际标准ISO 646:1972(Information processing -- ISO 7-bit coded character set for information interchange,信息处理——ISO用于信息交换的七位编码字符集) 这些变体主要是将ASCII字符集中不常用的符号“# $ @ [ \ ] ^ ` { | } ~”替换为他们各自语言的重音符号 1987年ISO 646中的ASCII部分,成为646的国际参考版(IRV = International Reference Version):ISO 646.IRV:1987,但是其中的美元符$被替换为国际通用货币符¤ 1991年推出的修订版ISO/IEC 646.IRV:1991还原成原始的美国ASCII,所以又被称为ISO 646-US或US-ASCII

替代标准 由于ISO 646中各国的变体存在明显的兼容和统一问题,现在已经作废 有关编码已经被新的国际标准ISO/IEC 8859-1~16: 1987/1998(Information processing/technology -- 8-bit single-byte coded graphic character sets,信息处理/技术——8位单字节编码的图形字符集)所替代 后来ISO 646与ISO/IEC 8859标准又都被纳入ISO/IEC 10646:1993/2003(Information technology -- Universal Multiple-Octet Coded Character Set (UCS),信息技术——通用多八位编码字符集(UCS))标准之中 其中的标准编号ISO 10646 = ISO 646 + 10000

标准化组织 ANSI = American National Standards Institute,美国国家标准协会 ISO = International Organization for Standardization,国际标准化组织,是由153个国家的国家标准协会联合组成的一个非政府国际组织,总部(中央秘书处)设在瑞士的日内瓦,负责制定适应商业和广泛社会需要的各种国际标准,网址为http://www.iso.org IEC = International Electrotechnical Commission,国际电工技术委员会,是一个成立于1906年6月的国际标准化权威组织,属于联合国的甲级咨询机构,负责制定关于电工电子各方面的标准,有42个会员国,总部也设在瑞士的日内瓦,网址为http://www.iec.ch,我国于1958年8月参加

2.EBCDIC 西文的字符编码方案,除了通用的ASCII外,还有IBM公司于1960年代初提出的EBCDIC(Extended Binary-Coded Decimal Interchange Code扩充的二进制编码的十进制交换码) EBCDIC现在仍然(仅)在IBM的 OS/390 与TPF以及富士通-西门子的BS2000/OSD等大型机的操作系统中使用 EBCDIC是一种八位编码,其字符的编码方案与ASCII的完全不同

EBCDIC字符集

3.扩展ASCII显示字符 (1)IBM PC (2)Microsoft Windows IBM PC的扩展ASCII显示字符由IBM公司为其PC机制定,可以由原始的IBM PC显示器在DOS状态下显示 (2)Microsoft Windows Microsoft Windows的扩展ASCII显示字符由微软公司为其Windows操作系统制定,可以在Windows环境的西文状态下被显示

IBM PC的扩展ASCII显示字符表

Microsoft Windows的 扩展ASCII显示字符表

2.2.2 中文编码 1.GB 1988与GB 2311 2.GB 2312 3.汉字编码的辅助集 4.Big5 5.少数民族文字编码 2.2.2 中文编码 1.GB 1988与GB 2311 2.GB 2312 3.汉字编码的辅助集 4.Big5 5.少数民族文字编码 6.GB 13000 7.GBK与GB 18030

汉字编码 为了计算机处理汉字,必须先对汉字进行编码。由于汉字数量大(《康熙字典》收字47 035个、《汉语大字典》收字54 678个,据统计在形成楷体后出现的汉字约有9万个左右),显然不能像ASCII那样用7位或单字节来进行编码,至少需要两个字节(最多可表示6万5千多个字符) 1980年我国制定了著名的GB 2312-80双字节汉字编码标准(其中,GB为“国标”这两个汉字的拼音首字母),收汉字6 763个 1993年底又推出了等同于国际通用字符编码标准ISO/IEC 10646.1-1993的国家标准GB 13000.1-93,收汉字20 902个 由于GB 13000与GB 2312的编码不兼容,作为过渡,2000年又公布了GB 18030-2000(GBK),收汉字2万7千个

1.GB 1988与GB 2311 为了能够同时表示和处理汉字和英文,实现中外文混排,汉字编码必须兼容通用的ASCII编码。因此,1980年我国制定了与国际标准ISO 646:1972(即ASCII)对应的国家标准GB 1988-80《信息处理交换用的七位编码字符集》 汉字成千上万,不可能像ASCII一样只用单字节的七位来表示,必须扩展到八位和多字节。但是,不能随意扩充,而应该符合国际规范。因此,我国于1980年又制定了与七位代码扩充到八位编码的国际标准ISO 2022兼容的国家标准GB 2311-80《信息处理交换用七位编码字符集的扩充办法》

GB 1988-80(ASCII)的 代码结构图

GB 2311-80的八位编码结构图

2.GB 2312 GB 2312-80《信息交换用汉字编码字符集·基本集》是我国制定的一个使用最广泛的汉字编码的强制性国家标准,由原第四机械工业部的华北计算机研究所(后改名为电子工业部第十五研究所)起草,1980年批准,1981年5月1日起实施 GB 2312-80是在已有的国家标准GB 1988-80(对应于ISO 646)和GB 2311-80(对应于ISO 2022)的基础上制定的,采用与ISO 2022兼容的GB 2311之7位到八位的代码扩充办法,用双字节编码表示汉字,与ASCII兼容

收录的字符 GB 2312对应的是汉字的基本集,共收汉字6 763个,可达到99.99%的使用频率。因此,除了极少数生僻的人名、地名和古文外,GB 2312中的汉字已经能基本满足平时的使用了 除了汉字外,GB 2312还收录了682个非汉字图形符号,包括202个一般符号(含间隔符、标点、运算符和制表符)、60个序号符、22个数字符、52个英文字母、169个日文假名、48个希腊字母、66个俄文字母、26个汉语拼音符号和37个汉语注音字母 所以,在GB 2312-80标准中,共收录了(6 763汉字 + 682非汉字图符 =)7 445图形字符

两级汉字 GB 2312将其收录的六千多个汉字分成两个级别: 一级汉字有3 755个,都为使用频率高的常用汉字,为便于检索,像字典那样,将这些汉字按拼音字母顺序排列(同音字再按笔顺的横、竖、撇、捺、点、折序排列) 二级汉字有3 008个,大部分较生僻,不易掌握读音,所以按部首顺序排列(同部首的字按笔画数排列,同笔画数的字再按笔顺排列)

编码方案 GB 2312对所有图形字符(包括汉字和非汉字图符)都采用两个字节表示,每个字节的低七位用于编码,最高位全为1,这样可以兼容ASCII编码(字节的最高位全为0) 虽然在一个字节中,最高位为1的符号位置有128个,但从前面GB 2311的分析可知,为了与ASCII的代码结构兼容,保留了(32 + 2 =)34个控制符位置,最后只有(128 – 34 =)94个符号位可供图形字符编码使用 图形字符在代码表中的位置用区位码表示。将码表分成94个区,对应于编码的第一个字节取值0x21~0x7E。每个区又分成94个位,对应于编码的第二个字节取值0x21~0x7E(参见表2-6) 例如“中山大学”的编码为:中(0xD6D0)、山(0xC9BD)、大(0xB4F3)、学(0xD1A7)

GB 2312-80字符集结构

第1区的部分非汉字图符 1区 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 01~16 、 。 · ˉ ˇ ¨ 〃 々 — ~ ‖ … ‘ ’ “ 17~32 ” 〔 〕 〈 〉 《 》 「 」 『 』 〖 〗 【 】 ± 33~48 × ÷ ∶ ∧ ∨ ∑ ∏ ∪ ∩ ∈ ∷ √ ⊥ ∥ ∠ ⌒ 49~64 ⊙ ∫ ∮ ≡ ≌ ≈ ∽ ∝ ≠ ≮ ≯ ≤ ≥ ∞ ∵ ∴ 65~80 ♂ ♀ ° ′ ″ ℃ $ ¤ ¢ £ ‰ § № ☆ ★ ○ 81~94 ● ◎ ◇ ◆ □ ■ △ ▲ ※ → ← ↑ ↓ 〓

第16区的部分一级汉字 16区 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 01~16 啊 阿 埃 挨 哎 唉 哀 皑 癌 蔼 矮 艾 碍 爱 隘 鞍 17~32 氨 安 俺 按 暗 岸 胺 案 肮 昂 盎 凹 敖 熬 翱 袄 33~48 傲 奥 懊 澳 芭 捌 扒 叭 吧 笆 八 疤 巴 拔 跋 靶 49~64 把 耙 坝 霸 罢 爸 白 柏 百 摆 佰 败 拜 稗 斑 班 65~80 搬 扳 般 颁 板 版 扮 拌 伴 瓣 半 办 绊 邦 帮 梆 81~94 榜 膀 绑 棒 磅 蚌 镑 傍 谤 苞 胞 包 褒 剥

第56区的部分二级汉字 56区 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 01~16 亍 丌 兀 丐 廿 卅 丕 亘 丞 鬲 孬 噩 丨 禺 丿 匕 17~32 乇 夭 爻 卮 氐 囟 胤 馗 毓 睾 鼗 丶 亟 鼐 乜 乩 33~48 亓 芈 孛 啬 嘏 仄 厍 厝 厣 厥 厮 靥 赝 匚 叵 匦 49~64 匮 匾 赜 卦 卣 刂 刈 刎 刭 刳 刿 剀 剌 剞 剡 剜 65~80 蒯 剽 劂 劁 劐 劓 冂 罔 亻 仃 仉 仂 仨 仡 仫 仞 81~94 伛 仳 伢 佤 仵 伥 伧 伉 伫 佞 佧 攸 佚 佝

3.汉字编码的辅助集 除了GB 2312基本集的6 763个简体汉字外,国家标准还给出了汉字编码字符集的多个辅助集 第二/四辅助集,分别增加了7 237 / 7 039个简体汉字 第一和三/五辅助集则分别是,与基本集和第二/四辅助集所对应的,繁体汉字字符集的国家标准 基本集加上辅助集,共有21 039个简体汉字和21 142个繁体汉字 繁体汉字之所以多一些,是因为在第一辅助集中,有时几个繁体字对应一个简体字,因此比基本集多出103个汉字 基本集和辅助集的代码页之间靠其编码字节的最高位来区分

编码字符的分页标志

双字节汉字编码的页面结构

4.Big5 除了中国大陆使用的简体汉字外,在台湾、香港、澳门和海外华侨社区使用的是传统的繁体汉字 简体汉字使用GB(国标)系列编码标准 Big5内码是1984年由台湾财团法人资讯工业策进会与宏碁(Acer)、神通(MiTAC)、佳佳、零壹(Zero One)、大众 (FIC)等五大软件公司联合推出,故称为大五码

BIG5的代码空间 低位字节 00 … 3F 40 … 7E 7F … A0 A1 … FE FF 高位字节 00 · 80 81 A0 用户定义区 A1 A2 A3 非汉字图符 A4 C6 常用汉字 C7 C8 C9 F9 次常用汉字 FA FE

5.少数民族文字编码 中国共有56个民族,除了汉、回、满族一般使用汉语外,其他少数民族大多有自己的民族语言 我国各民族使用的50多种文字,可以分为字母式结构文字和非字母式结构文字两大类 字母式结构的有拉丁文、斯拉夫文、蒙古文、维吾尔文、哈萨克文、藏文和朝鲜文等字母式 非字母式结构的有汉字、象形文字、图画文字和音节文字等 各民族文字的书写方向也有不同: 壮文、藏文、朝鲜文、彝文等的字从左到右、行从上到下 维吾尔文、哈萨克文和柯尔克孜文等的字从右到左、行从上到下 蒙古文和满文的字从上到下、行从左到右 汉字的书写方向有两种: 大陆的简体汉字的字从左到右、行从上到下 港台与古旧书的繁体汉字的字从上到下、行从右到左

国家标准 下面按发布时间列出若干已经公布的我国少数民族文字编码集的国家标准(这些字符集一般分成两类:对字母式结构文字采用八位编码、对非字母式结构文字采用双字节编码): GB 8045-87《信息处理交换用蒙古文七位和八位编码图形字符集》,收82个蒙古文字母和12个其他符号,共94个字符 GB 12050-89《信息处理交换用维吾尔文编码图形字符集》,收32个维吾尔文字母、一个维吾尔文复合字符和37个其他符号,共70个字符 GB 12052-89《信息交换用朝鲜文编码字符集》,收5297个朝鲜文字和682个其他符号(与GB 2132同),共5 979个字符 GB 13134-91《信息交换用彝文编码字符集》,收1165个彝文字符和688个其他符号,共1853个字符 GB 16959-1997《信息技术 信息交换用藏文编码字符集 基本集》,收41个藏文字母、36个藏文主字、13个元音字符、12个语音字符、10个藏文数字、10个半值符、一个控制用连接符和46个其他藏文图形符号,共169个字符

6.GB 13000 GB 13000是与ISO/IEC 10646等价的国际通用编码字符集标准,收汉字2万多个,但是与GB 2312和GBK不兼容 1993年5月ISO与IEC联合推出了可用于世界各种文字的通用编码字符集的国际标准的第1部分: ISO/IEC 10646-1:1993 Information technology -- Universal Multiple-Octet Coded Character Set (UCS) -- Part 1: Architecture and Basic Multilingual Plane(信息技术——通用多八位编码字符集(UCS)——第1部分:体系结构与基本多文种平面) 该标准收字符9.6万个,几乎涵盖世界上的所有文字,其中包含汉字21 003个。 1993年底我国推出了等同于国际标准ISO/IEC 10646.1:1993的强制性国家标准: GB 13000.1-93《信息技术 通用多八位编码字符集(UCS) 第一部分:体系结构与基本多文种平面》 该标准于1993年12月24日被国家技术监督局批准,1994年8月1日起实施

GB 13000的主要特点 世界各语言文种字符统一编码,避免冲突,便于国际交流 编码空间宽阔连续,每个图形字符的编码唯一(一字一码),不再存在兼容性问题 按文种而不是按语言编码,避免重复和浪费(如中日韩汉字的统一编码CJK) 与GB 2312和GBK不兼容

体系结构 UCS的体系结构是基于所谓“多八位”的,而“八位”就是一个字节,“多八位”就是多个字节 整个UCS空间包含128个组(0x00组~0x7F组),每组有256个平面(0x00平面~0xFF平面),每个平面有256行,每行又由256个字位构成 UCS共有(128 × 256 =)32 768个平面,每个平面有(256 × 256 =)65 536个字位,每个字位对应于一个字符的编码 目前的编码只限于00组,已经定义的平面有00组的00平面——称之为基本多文种平面BMP(Basic Multilingual Plane) ,及若干辅助平面

UCS的全部编码空间 7F组 01组 7F组00平面 00组 每个平面: 256×256个 01组00平面 字位 00组FF平面 00组00平面 00组FF平面 01组00平面 7F组00平面 00组 01组 7F组

UCS的00组

BMP BMP = Basic Multilingual Plane,基本多文种平面 BMP用作双八位编码字符集,称之为UCS-2。它被分成四个区: A-区(字位0x0000~0x4DFF,有19 903个字位)用于字母文字、音节文字以及各种符号 I-区(字位0x4E00~0x9FFF,共20 992个字位)用于中日韩统一汉字(CJK) O-区(字位0xA000~0xDFFF,共16 384个字位)保留未来标准化用 R-区(字位0xE000~0xFFFD,共8 190个字位)为BMP的限制使用区,包括专用字符、变形显现形式及兼容字符

BMP总貌 A-区 00~33 拼音文字(见下页) 34~3D 朝鲜文 3E~44 朝鲜文补充-A 45~4D 朝鲜文补充-B I-区 4E~9F CJK统一汉字 O-区 A0~DF R-区 E0~F8 专用区 F9~FA CJK兼容汉字 FB 拼音文字变形显现形式 FC~FD 阿拉伯文变形显现形式-A FE 半形组合用标志 CJK兼容形式 小写变体 阿拉伯文 变形显现形式-B FF 半形及全形字符 特殊字符

BMP的 0x00~0x33行 字母文字区

表示形式 GB 13000提供了字符编码表示的两种替代使用的形式: 除了UCS-2/4外,还有另外两种变形的表示形式: 双八位BMP形式(UCS-2)——允许使用BMP中的字符,且每个字符用两个字节表示 肆八位正则形式(UCS-4)——允许使用GB 13000中的全部字符,且每个字符用四个字节表示 除了UCS-2/4外,还有另外两种变形的表示形式: UTF-8(单字节~多字节) UTF-16(双字节和4字节,与UCS-2等价) 目前在工业上的实现,均为UTF-16(UCS-2)和UTF-8 UTF = Unicode / UCS Transformation Format,统一码/UCS转换格式 关于统一码我们会在下一小节详细介绍

7.GBK与GB 18030 由于GB 13000标准与GB 2312标准的字符编码不兼容,作为过渡,在国家信息技术标准化委员会的主持下,制定了与GB 2312兼容的《汉字内码扩展规范(GBK)》(K为扩展的“扩”字的拼音首字母),并于1995年12月15日由原国家技术监督局标准司联合原电子工业部科技与质量监督司作为指导性技术规范发布实施 2000年,GBK又被国家标准GB 18030-2000《信息技术 信息交换用汉字编码字符集 基本集的扩充》所代替,该标准收汉字2万7千个 与GB 2312一样,GB 18030也为中国的强制性国家标准。微软公司的Windows XP/Vista/7/8中文版与苹果公司的Mac OS X和iOS、谷歌公司的Android(安卓)等操作系统已经全面支持GBK

GB 18030的码位范围分布 字节数 码位空间 码位数目 单字节 0x00~0x7F 128 双字节 第1字节 第2字节 23 940 0x81~0xFE 0x40~0x7E,0x80~0xFE 四字节 第3字节 第4字节 1 587 600 0x30~0x39

GB 18030的 总体结构图

收录字符 单字节部分——收录了GB/T 11383的0x00~0x7F全部128个字符(似ASCII) 双字节部分——收录内容如下:(21 003个汉字和884个符号共21 887个字符) GB 13000.1-93的全部CJK统一汉字字符20 902个(GB 2312的编码汉字在双字节2区,其他CJK统一汉字在双字节3/4区) GB 13000.1-93的CJK兼容区挑选出来的21个汉字“郎凉秊……﨨﨩”(0xFD9C~0xFDA0和0xFE40~0xFE4F) GB 13000.1-93中收录而GB 2312未收录的台湾地区使用的图形字符139个“ˊˋ˙……﹪﹫”(0xA840~0xA895和0xA940~0XA988) GB 13000.1-93收录的其他字符31(13?)个(在双字节5区?) GB 2312-80中的非汉字字符682个(0xA1A1~0xA9EF) GB 12345-90的竖排标点符号19(29?)个“︵︶︹……︳︴”(0xA6D9~0xA6F5) GB 2312-80未收录的10个小写罗马数字“ⅰⅱⅲ……ⅸⅹ”(0xA2A1~ 0xA2AA) GB 2312-80未收录的带音调的汉语拼音字母5(4?)个“ńňǹ”以及ɑ和ɡ(0xA8BB~0xA8C0) 汉字数字零“〇”(0xA996)和欧元符“€”(0xA2E3) 表意文字描述符13个“〾⿰⿱……⿺⿻”(0xA989~0xA995) 对GB 13000.1-93增补的汉字和部首/构件80个“⺁……䶮”(0xFE50~ 0xFEA0) 四字节部分——收录了上述双字节字符之外的,包括CJK统一汉字扩充A在内的GB 13000.1-93中的全部字符

GB 18030双字节部分的码位安排 类别 区名 码位范围 码位数 字符数 内容 符号区 双字节1区 A1A1~A9FE 846 718 双字节5区 A840~A9A0 192 166 台湾图符等 汉字区 双字节2区 B0A1~F7FE 6768 6763 GB 2312汉字 双字节3区 8140~A0FE 6080 CJK统一汉字 双字节4区 AA40~FEA0 8160 CJK统一汉字等 用户自定义区 双字节用户区1 AAA1~AFFE 564 用户自定义字符 双字节用户区2 F8A1~FEFE 658 双字节用户区3 A140~A7A0 672

GB 18030双字节部分的编码空间结构图

2.2.3 国际通用字符编码 Unicode(统一码)是由多语言软件制造商组成的统一码协会(http://www.Unicode.org)所制定一种国际字符的编码标准 ISO/IEC 10646是ISO与IEC联合开发的国际通用的字符编码标准 本节主要介绍这两种关系密切的主流国际字符编码标准的来历、编码方案、各自特点与相互关系

1.Unicode统一码 发展历史 1987年施乐(Xerox)公司的Joe Becker与Lee Collins和苹果(Apple)公司的Mark Davis等人开始讨论统一编码,1987年12月Joe Becker造词Unicode(统一码),含义为“unique, universal, and uniform character encoding”(单一、通用、统一的字符编码),1989年2月开始定期召开统一码会议,1989年9月公布Unicode草案。1991年1月3 日由Xerox、Apple、Sun、IBM、Aldis、Microsoft等公司出资,在美国加州成立了统一码协会(Unicode Consortium),并由协会设立非盈利性的统一码公司(Unicode, Inc.),后来HP、Adobe、Borland、Digital、Lotus、Novell等公司也纷纷加入。1991年1月成立统一码技术委员会UTC ,并制定了其规程。1991年2月在Ed Hart的推动下,进行了“统一码对10464 国际标准草案1”的对话,Unicode与ISO/IEC 10646开始走向融合 1991年8月发布Unicode 标准1.0版的第1卷(体系结构,非表意字符),1992年6月发表Unicode 1.0版的第2卷(表意字符),1993年6月发布Unicode 1.1版,与1993年5月公布的ISO/IEC 10646-1:1993实现了合并 1996年7月发布Unicode 2.0版 1999年9月发布Unicode 3.0版 2003年4月发布Unicode 4.0版(对应于ISO/IEC 10646:2003),2004年3月31日发布Unicode 4.0.1版,2005年3月31日发布Unicode 4.1.0版; 2006年7月14日发布Unicode 5.0版,2008年4月4日发布Unicode 5.1版,2009年12月22日发布Unicode 5.2版; 2010年10月发布Unicode 6.0版,2012年1月发布Unicode 6.1版(对应于ISO/IEC 10646:2012),2012年9月推出Unicode 6.2版,2013年9月推出Unicode 6.3版; 2014年6月16日发布Unicode 7.0版; 2015年6月17日发布Unicode 8.0版; 2016年6月21日发布Unicode 9.0版。

字符集 Unicode字符集的空间分成双字节的基本多语言平面 (Basic Multilingual Plane, BMP)和4字节的辅助多语言平面(Supplementary Multilingual Plane, SMP)两种 BMP Unicode的基本平面或基本多语言平面BMP,对应于ISO/IEC 10646-1的第00组的00平面(BMP)。即Unicode与ISO/IEC 10646的BMP中的字符编码完全一致 SMP 鉴于 Unicode 原有的16位元空间不足以应用,从Unicode 3.1版本开始,设立了16个辅助平面,使 Unicode 的可使用空间由六万多字增至约一百万字 原有的Unicode双字节空间称为基本平面或基本多语言平面 BMP。辅助多语言平面SMP字符要用4字节来储存 第一辅助平面:摆放拼音文字(主要为现时已不再使用的文字)及符号。范围在 U+10000 - U+1FFFD 第二辅助平面:又称为表意文字补充平面 (Supplementary Ideographic Plane, 简称SIP)。现时摆放“中日韩统汉字扩展B区”,共43,253个汉字。范围在 U+20000 - U+2FFFD 第三至十三辅助平面:尚未使用 第十四辅助平面:又称为特殊用途补充平面(Supplementary Special-purpose Plane, 简称SSP),摆放 Language tags 和 Variation Selectors ,它们都是控制字符。范围在 U+E0000 - U+E01FF 第十五至十六辅助平面:都是私人使用区。它们的范围是 U+F0000 - U+FFFFD 及 U+100000 - U+1000FD Unicode字符集的具体编码方式,参加第4小节“4.UTF”

2.ISO/IEC 10646 ISO/IEC 10646是ISO与IEC联合开发的国际通用的字符编码标准 ISO/IEC 10646标准由ISO与IEC联合成立的ISO/IEC JTC1/SC2/WG2制定: JTC 1(Joint Technical Committee 1 on Information technology,ISO/IEC信息技术联合技术委员会1),负责信息技术方面标准的制定工作 SC 2(SubCommittee 2 on Coded character sets,编码字符集分会2)下的WG 2(Working Group 2 on Universal coded character set,通用编码字符集工作组2)负责制定国际通用字符编码标准,即后来公布的ISO/IEC 10646

发展历史 1984年ISO的一些会员国发起制定新的国际字符编码标准;同年4月ISO与IEC联合成立ISO/IEC JTC1/SC2/WG2,1987年3月制定出编码架构;1992年6月投票通过第二版国际标准草案; 1993年5月推出10646标准时,将内容分成两个部分标准,首先发布的是其中的第1个部分(体系结构与基本多文种平面)的第1版(Edition 1):ISO/IEC 10646-1:1993 Information technology -- Universal Multiple-Octet Coded Character Set (UCS) -- Part 1: Architecture and Basic Multilingual Plane(信息技术——通用多八位编码字符集(UCS)——第1部分:体系结构与基本多文种平面); 2000年3月推出10646标准第一个部分的第2版(Edition 2):ISO/IEC 10646-1:2000 Information technology -- Universal Multiple-Octet Coded Character Set (UCS) -- Part 1: Architecture and Basic Multilingual Plane; 2001年10月推出10646标准第2版的第二个部分(辅助平面)的第1版(Edition 1):ISO/IEC 10646-2:2001 Information technology -- Universal Multiple-Octet Coded Character Set (UCS) -- Part 2: Supplementary Planes; 2003年10月推出的10646新标准(第1版,Edition 1),将老标准中的两个部分标准合并成了一个单一的标准:ISO/IEC 10646:2003 Information technology -- Universal Multiple- Octet Coded Character Set (UCS) 。后来又于2010年、2012年和2014年分别推出了ISO/IEC 10646:2010(第2版)、ISO/IEC 10646:2012(第3版)和ISO/IEC 10646:2014(第4版)。

UCS通用字符集 通用字符集(Universal Character Set,UCS)是ISO/IEC 10646标准所定义的字符编码方式,采用4字节编码。又称为Universal Multiple-Octet Coded Character Set(通用多八位编码字符集) 通用字符集是所有包括了其他字符集。它保证了与其他字符集的双向兼容,即,如果你将任何文本字符串翻译到UCS格式,然后再翻译回原编码,你不会丢失任何信息 UCS包含了已知语言的所有字符。除了拉丁语、希腊语、斯拉夫语、希伯来语、阿拉伯语、亚美尼亚语、格鲁吉亚语,还包括中文、日文、韩文这样的象形文字,UCS还包括大量的图形、印刷、数学、科学符号

名字与组合字符 UCS不仅给每个字符分配一个代码,而且赋予了一个正式的名字。表示一个UCS或Unicode值的十六进制数通常在前面加上“U+”,例如“U+0041”代表字符“A” UCS里有些编码点分配给了组合字符,组合字符机制允许在任何字符后加上重音符或其他指示标记, 这在科学符号中特别有用, 比如数学方程式和国际音标字母, 可能会需要在一个基本字符后组合上一个或多个指示标记

实现级别 并不是所有的系统都需要支持像组合字符这样的的先进机制。因此ISO 10646指定了如下三种实现级别: 级别1:不支持组合字符和韩语Hangul Jamo字符(一种特别的, 更加复杂的韩国文的编码, 使用两个或三个子字符来编码一个韩文音节) 级别2:类似于级别1,但在某些文字中,允许一列固定的组合字符(例如, 希伯来文, 阿拉伯文, Devangari, 孟加拉语, 果鲁穆奇语, Gujarati, Oriya, 泰米尔语, Telugo, 印.埃纳德语, Malayalam, 泰国语和老挝语),因为如果没有最起码的几个组合字符,UCS就不能完整地表达这些语言。 级别3:支持所有的UCS字符,如,可以在任意一个字符上加上一个箭头或/和一个tilde(颚化符号,即字母上面的~)

编码方式 UCS有如下两种编码方式: UCS还有UTF编码方式,参见下面第4小节“4.UTF” UCS-2:与Unicode的2字节编码基本一样 UCS-4:4字节编码,目前是在UCS-2前加上2个全零的字节 UCS还有UTF编码方式,参见下面第4小节“4.UTF”

3.Unicode与ISO/IEC 10646 关系 历史上存在两个独立的尝试创立单一字符集的组织,即国际标准化组织(ISO)和多语言软件制造商组成的统一码协会组织(Unicode.org)。前者开发的ISO 10646项目,后者开发的Unicode项目。因此最初制定了不同的标准 1991年前后,两个项目的参与者都认识到,世界不需要两个不兼容的字符集。于是,它们开始合并双方的工作成果,并为创立一个单一编码表而协同工作 从Unicode2.0开始,Unicode采用了与ISO 10646-1相同的字库和字码;ISO也承诺,ISO10646将不会替超出U+10FFFF的UCS-4编码赋值,以使得两者保持一致 两个项目仍都存在,并独立地公布各自的标准。但Unicode协会和ISO/IEC JTC1/SC2都同意保持两者标准的码表兼容,并紧密地共同调整任何未来的扩展

异同 Unicode协会公布的Unicode标准包含了ISO 10646-1实现级别3的基本多文种平面。在两个标准里,所有的字符都在相同的位置并且有相同的名字 ISO 10646标准,就像ISO 8859标准一样,只不过是一个简单的字符集表。它定义了一些编码的别名,指定了一些与标准有关的术语,并包括了规范说明,指定了怎样使用UCS连接其他ISO标准的实现等 Unicode标准,额外定义了许多与字符有关的语义符号学。并详细说明了绘制某些语言(如阿拉伯语)表达形式的算法,处理双向文字(比如拉丁文和希伯来文的混合文字)的算法,排序与字符串比较所需的算法等等 考虑到 Unicode 标准有一个易记的名字,既便宜又包括更多的辅助信息,因而它使用得更广泛然而 一般认为,用于打印 ISO 10646-1 标准的字体在某些方面的质量要高于用于打印 Unicode 2.0的。专业字体设计者总是被建议说要两个标准都实现,但一些提供的样例字形有显著的区别。ISO 10646-1 标准同样使用四种不同的风格变体来显示表意文字如中文,日文和韩文 (CJK),而 Unicode 2.0 的表里只有中文的变体

4.UTF Unicode和UCS都是一个字符集,可以看作为内码 UTF(Unicode/UCS Transformation Format统一码/通用字符集转换格式)是一种编码方式,它的出现是因为Unicode和UCS不适宜在某些场合直接传输和处理 UCS 和 Unicode 只是分配整数给字符的编码表。现在存在好几种将一串字符表示为一串字节的方法(如高或低位字节在前) 最显而易见的两种方法是将 UCS 和 Unicode 文本存储为 2 个 或 4 个字节序列的串。这两种方法的正式名称分别为 UCS-2 和 UCS-4 常用的UTF具体编码方式有UTF-8、UTF-16和UTF-32

UTF-8 UTF-8是UTF的一种具体编码方式,在 ISO 10646-1的附录R 和 IETF的RFC 2279 里定义 由于要使文档中的文字与ASCII兼容,故UTF-8 选择了使用可变长度字节来储存 Unicode和UCS,例如: ASCII字母继续使用1字节储存 重音文字、希腊字母或西里尔字母等使用2字节来储存 常用的汉字就要使用3字节 辅助平面字符则使用4字节 即,ASCII不作变换,其他字符做变长编码,每个字符1~4字节 UTF-8通常作为外码 在UTF-8文件的开首,很多时都放置一个U+FEFF字符 (UTF-8 以 EF BB BF 代表),以显示这个文字档案是以UTF-8编码

UTF-8的优点 与CPU字节顺序无关,可以在不同平台之间交流 容错能力高,任何一个字节损坏后,最多只会导致一个编码码位损失,不会链锁错误(如GB码错一个字节就会整行乱码)

UTF-8 的缺点 UTF-8 使用可变长度字节储存,使计算机程序设计变得复杂(故此,在计算机程序或操作系统内部,多采用UCS-2编码) 泰语以往使用的ISO 8859-11,每字符只使用1字节储存,而UTF-8须使用3字节

UTF-8储存的多字节串字符 U-00000000 - U-0000007F: 0xxxxxxx U-00000080 - U-000007FF: 110xxxxx 10xxxxxx U-00000800 - U-0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx U-00010000 - U-001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 在多字节串中,第一个字节的开头“1”的数目就是整个串中字节的数目 每个使用UTF-8储存的字符,除了第一个字节外,其余字节的头两个位元都是以 "10" 开始,使文字处理器能够较快地找出每个字符的开始位置

UTF-16 UTF-16是UTF的另一种具体编码方式,在 ISO 10646-1的附录Q 和 IETF的RFC 2781 里定义 UTF-16,是变长码(2或4字节),大致相当于20位编码,值在0到0x10FFFF之间,基本上就是Unicode编码的实现。UTF-16与CPU字序有关,但因为最省空间,常作为网络传输的外码。UTF-16是Unicode的完美编码 <0x10000的直接用其对应的16位整数编码,位于 0x10000 ~ 0x10FFFF之间的用0xD800~0xDBFF的16位整数后跟0xDC00~0xDFFF的16位整数的4字节编码,> 0x10FFFF的不能用UTF-16表示 在Unicode的BMP中定义的字符(无论是拉丁字母、汉字或其他文字或符号),一律使用2字节存储。而在辅助平面定义的字符,则以两个2字节的值来存储

UTF-16的特点 UTF-16比起UTF-8的好处在于大部分字符都以固定长度的2字节存储,但UTF-16却无法相容于ASCII编码 UTF-16有两种编码模式,即大尾序(big Endian,高位字节在前)和小尾序(little Endian高位字节在后)储存形式(一般來說,以Macintosh制作和存储的文字使用大尾序格式,以Microsoft或Linux制作和存储的文字使用小尾序格式) 为了弄区分UTF-16文件的大小尾序,在UTF-16文件的开头,都会放置一个U+FEFF字符作为字节顺序标记 (UTF-16LE以FF FE代表,UTF-16BE以FE FF代表),以显示该文档是以UTF-16编码的

UTF-32 UTF-32,仅使用了Unicode范围(0到0x10FFFF)的32位编码,相当于UCS-4的子集 由于Unicode和ISO/IEC 10646的编码和结构与前面讲过的GB 13000类似或等价,这里就不再做详细的介绍

5.支持 现在Unicode/UCS已经获得了十分广泛的支持: 网络与浏览器(如HTML 4.0/5.0、XML与IE、Safari、Netscape、Firefox、Chrome、Opera、Edge等) 操作系统(如Windows NT/2000/XP/Vista/7/8/10、Mac OS X、iOS、Android和Linux) 编程语言新版本(如C/C++/Java/Objective-C/C# /Swift等)

Unicode 代码的浏览器显示 代码 字符标准名称(英语) 浏览器 的显示 A 大写拉丁字母"A" A ß 小写拉丁字母"Sharp S" ß þ 小写拉丁字母"Thorn" þ Δ 大写希腊字母"Delta" Δ Й 大写斯拉夫字母"Short I" Й ק 希伯来字母"Qof" ק م 阿拉伯字母"Meem" م ๗ 泰文数字7 ๗ ቐ 埃塞俄比亚音节文字"Qha" ቐ あ 日语平假名"A" あ ア 日语片假名"A" ア 叶 简体汉字"叶" 叶 葉 繁体汉字"葉" 葉 엽 韩国音节文字"Yeob" 엽

2.3 文字输出 文字输出是指将计算机内的字符编码,通过计算机的输出设备(如显示器、打印机、喇叭),展现出所对应字符的图形或声音,供人们阅读或聆听 本节主要介绍文字图示输出的字形技术 文字声音输出属于语音合成,只在本节的末尾作简单的介绍

2.3.1 字形技术 文字 = 图形 不论是象形文字中的单字,还是拼音文字中的字母,都是用图形来表示的 2.3.1 字形技术 文字 = 图形 不论是象形文字中的单字,还是拼音文字中的字母,都是用图形来表示的 在计算机里,文字的表示/输出(显示和打印)涉及 字型 字体 字库

1.字型 字型指构造和生成字形的方法,一般可分为 点阵字:DOS / 显卡ROM,金山 / 科印。特点似位图:显示快、占空间(字库大)、放大后有马赛克效应 显示:字母8*8、汉字16*16 打印:24*24、48*48、64*64 矢量字:单线条,用于笔式绘图仪。特点:字库小、算法简单、难看 轮廓字:用曲线描绘字的轮廓,输出效果好,所见即所得(WYSWYG),可无级放大,易实现空心/阴影/填充/变形等各种特效功能。轮廓曲线一般采用样条曲线,如TrueType (Apple 1991 Mac OS / Microsoft 1992 Windows 3.1)用的是二次B样条/Bezier曲线,中文之星/RichWin采用的是三次B样条/Bezier曲线

字型种类

2.字体 字体指字的形状风格,如 汉字的 英文的

常用汉字字体 宋体——宋体来自于北宋时雕版刻书所采用的欧体字(唐朝欧阳询体),宋体字的横顿、拉捺、挑钩,别具特色,间架平正,疏密适中,字体秀丽遒劲。但笔画横细竖粗,适合于刀刻,不宜于手写。现在宋体广泛用于印刷,常来表现文档的正文 仿宋体——1920年钱塘的丁辅之与丁善之等人,将明代以后盛行的方廓形字体加以改造,创造出长形和方形的聚珍仿宋,后来演化为现在的仿宋体。仿宋体比较接近于手写体,为宋体和楷体的折中,是采用的宋体的结构和楷体的笔法而成。现常来表现打印文件,以及文档的摘要和注释等 黑体——黑体是适应工艺美术的发展而出现的一种等线体,是从日本引进的。黑体的结构与宋体没有什么差别,只是其笔画粗细一致,健实粗壮。主要用于文档的标题和重点及标语、广告等方面 楷体——楷体源于楷书,楷体的笔画圆浑、笔调灵活、结构端正美观。但不宜于木板雕刻,所以直到清末西洋的石板印刷术传入后才开始广泛用于印刷。现代的楷体创造于20世纪的二三十年代。主要用于文档的正文(多用于中小学教材),也可用于工艺美术等方面

3.字库 字库为一种文字的某一字体的所有字符的集合,一般存放在一个磁盘文件中 由于象形文字中单字的数量大(成千上万),而拼音文字中字母的数量小(不到一百个),所以字库的大小有很大的差别 为了使文档界面丰富多彩,常见的字处理软件都支持多种字体,带有众多字库

4.点阵字型的国家标准 我国已经公布了若干字体的点阵字型之国家标准: GB 5007.1-1985/2001 信息技术 汉字编码字符集(基本集)24点阵字型 GB 5007.2-1985/2001 信息技术 汉字编码字符集(辅助集)24点阵字型 GB 5199-1986/2001 信息技术 汉字编码字符集(基本集)16点阵字型 宋体 GB 6345-1986/2001 信息技术 汉字编码字符集(基本集)32点阵字型 宋体 GB 12041-2001 信息技术 汉字编码字符集(基本集)48点阵字型 宋体 GB 17698-1999 信息技术 通用多八位编码字符集(I区) 汉字16点阵字型

2.3.2 语音合成 文字的声音输出,主要使用的是语音合成的技术 语音合成功能是“文→语”转换 2.3.2 语音合成 文字的声音输出,主要使用的是语音合成的技术 语音合成功能是“文→语”转换 文语转换TTS (Text-To-Speech)是将文本形式的信息转换成自然语音的一种技术,其最终目标是使计算机输出清晰而又自然的声音 英语的语音合成在上世纪80年代就早已成熟,而中文/汉语的合成现在也趋于成熟,并有了广泛的应用(如汽车导航仪、智能手机等)

语音合成的过程图

TTS系统框图

作业 平时作业1(选做):用VC编写一个在屏幕上输出中文字符串的Windows应用程序,要求用户可以设置字体、字号、颜色、方向和串的内容。 平时作业2 (选做) :编写宽字符串(UTF-16)与普通字符串(GB 2312)的相互转换函数。(提示:可以利用MFC的CString的AllocSysString()和STL的map容器) 大作业参考选题1:研究GB 13000、Unicode和/或ISO/IEC 10646标准的结构、内容、字符集、编码方式、以及相互关系。 大作业参考选题2:实现GB 2312、Big5、GBK/GB 18030、GB 13000等两个或多个标准之间的汉字代码转换。

复习思考题 计算机对文字的处理,包括哪三个部分? 文字录入计算机的方法主要有哪几类? 汉字有哪三个要素,各对应于什么键盘输入法? 语音识别系统可以如何分类?语音识别的目标是开发什么样的语音识别系统? ASCII的英文原文和中文译文是什么? ASCII是由什么组织在什么时候制定的? ASCII所对应的ISO标准号是多少?该ISO标准是什么时候制定的? 给出标准化组织ANSI、ISO和IEC的含义。 常用的中文编码的国家标准有哪些?它们各自的特点与适用范围是什么?

GB 2312中的汉字分成几级?各级中的汉字按什么顺序排列? 给出Big5的含义。 GB 13000与ISO/IEC 10646的关系是什么? 给出UCS和BMP的英文原文、中文译文、含义与相互关系。 中日韩统一汉字(CJK)在BMP的哪个区?含有多少个汉字? UCS的字符编码有哪些表示形式?它们各有什么特点? GBK与GB 18030有什么关系?它们与GB 2312和GB 13000又有什么关系? Unicode与ISO/IEC 10646有什么关系?比较它们的异同。

UTF是什么?它有哪些具体编码方式?这些方式各有什么特点? 文字输出方式包括哪两大类? 字形技术含哪三个方面? 有哪三种字型?它们各有什么特点? 常用的汉字字体是哪几种?它们各用于哪些方面? 语音输入与语音输出的核心技术各是什么? 给出TTS的英文原文和中文译文,并描述其系统的主要构成和功能。