950 likes | 1.12k Views
第三章汉字编码原理. 第三节 汉字编码原理. 一、什么是汉字编码. 汉字外码:汉字的字母数字代码 计算机人机界面:键盘 字母 数字 控制符号 功能键位. 二、汉字编码的历史发展. 广义的汉字编码是从汉字字书的编撰算起的。因为字典的编撰,离不开字的排序和检索。 字典是供人来*查阅,编码输入法是让机器到字库中去查找。都是按照某种规则排列和检索汉字*的。 可以说,早期的汉字排字检字法就是汉字编码的早期形式。比如, 笔画部首法、四角号码法、拼音查字法、笔形查字法等。. 最早的汉字代码.
E N D
一、什么是汉字编码 • 汉字外码:汉字的字母数字代码 • 计算机人机界面:键盘 • 字母 • 数字 • 控制符号 • 功能键位
二、汉字编码的历史发展 • 广义的汉字编码是从汉字字书的编撰算起的。因为字典的编撰,离不开字的排序和检索。 • 字典是供人来*查阅,编码输入法是让机器到字库中去查找。都是按照某种规则排列和检索汉字*的。 • 可以说,早期的汉字排字检字法就是汉字编码的早期形式。比如, • 笔画部首法、四角号码法、拼音查字法、笔形查字法等。
最早的汉字代码 • 1880年清政府创办电报局,由丹麦人设计的汉字电报码。它的方法是将电报用的汉字按照笔画顺序由少到多排列成一个字表。 • 使用的字数不到一万,就以字的顺序号作该字的代码。第一个字的代码就是0001,第五个字的代码就是0005,第385个字的代码就是0385。 • 电报码一直使用到今天,经过不断的修订完善成为《标准电码本》。
十个数字如果转换为二进制表示,则只需四位二进制单位。这样,用“嘀——嗒”两种状态就可以传输汉字了。十个数字如果转换为二进制表示,则只需四位二进制单位。这样,用“嘀——嗒”两种状态就可以传输汉字了。 • 电报码的特点是“字”-“码”一一对应,没有重码。 • 缺点是难以记忆,非经过专门训练无法使用。
三、编码原理 • 1、确定编码对象 • 汉字的总字数有6万多,现代汉语常用的也有1万左右。《信息交换用汉字编码字符集基本集》根据各种统计数据确定收入汉字6763个。这些汉字就是一个编码对象的数量级。 • “大字符集” 包括大陆、台湾、日本、韩国所使用的全部汉字的集合。有20902字。 • 数量不同,有关参数也不同。
2、确定码元类型和数量 • 码元是用来作为汉字代码的元素。例如, • 电报码的码元就是0-9这十个阿拉伯数字。 • 码元的种类和数量与编码容量、以及码长、重码数等指标直接相关。 • 比如电报码,采用十个数目字作码元,四位码长的编码容量至多10000个汉字,从0000到9999。超过1万字就是出现重码,否则就必须增加码长。
一般的编码方案多采用26个英文字母作码元,一般的编码方案多采用26个英文字母作码元, • 也有的在这个基础上再增加10个数目字,使码元数增加到36个的方案, • 还有的把字母键盘区的其它功能键也利用上的。 • 这种需要增加码元数的方案多数是形码方案。
3、确定编码规则 • 理想的规则是“字码意义对应” 、规则简单,好学易记,没有复杂的条件限制或特例情况。 • 实际上最难做到。 • 比如按形排序,同笔画数的字很多,同笔画的字当中,起笔相同的也不少,甚至笔顺相同的也有。究竟谁先谁后,难以给出一个标准。 • 按音排序也有个同音字的先后问题。同音、同调、同笔画数的汉字再按什么条件排先后,都是难题。 • 人为地增加许多规定,势必增加用户的学习量。
4、编制码表 • 所谓码表就是“字”-“码”对照表。 • 按照确定的编码规则将《基本集》中的全部汉字逐个给出正确的代码,形成一个字码对照表。
5、编制软件、上机实现 • 这部分是软件人员的工作。软件人员根据编码规则和码表, • 设计一个查字管理程序,经过调试,准确无误,就可以投入使用。 • 至此,一个汉字编码系统就完成了从设计到实现的整个过程。
四、汉字编码的技术参数指标 • 汉字编码是一个理论与实践性都很强的课题,而最重要的是它的实践性,也即在实际应用中的效果。 • 因为这是要解决汉字信息处理的第一个“人机界面”,所以,几乎全部技术指标都与“人”密切相关。
在“人服从机器”还是“机器服从人”这个问题上,曾经有过一个认识过程。在“人服从机器”还是“机器服从人”这个问题上,曾经有过一个认识过程。 • 开始为了使机器能够处理汉字,主要是从机器出发的,重点考虑机器的特点和条件,较少考虑人的特点和需要。 • 后来才将立脚点转移到“人”这方面来,将许多困难都留给机器,使机器对人服务得友好、周到,人的操作变得轻松、愉快。
什么是理想的编码 • 1、规则简单。 • 一般具有中等文化水平的人不需要经过专门培训就可以通过“自学”完全掌握。 • 如果能够利用人的常识和知识,如果这种常识和知识中涉及或包括了关于汉字的基本知识, • 编码规则应当简化到不需要特殊的规则的地步。
2、码元数量少 • 一般不超过36个,即26个字母外加10个数字键。最好只使用26个字母键。 • 这样,对于人来说记忆量减少,对于机器来说,在键盘管理方面较好处理。
3、码长短 • 每个汉字的代码不超过四码。如果采用简码和不等长码处理的话, • 平均码长应当在3码以下。
4、编码容量具有可扩展性 • 汉字信息处理除了《基本集》的6763个汉字外,随着实际应用的发展,不可避免地出现繁体汉字的问题以及大字符集的问题。 • 理想的汉字编码应当在不增加或少增加规则的基础上,就能够使编码容量扩展到繁体汉字或更大的范围。
5、采用词语编码 • 应具有足够的词汇编码容量。词语码最长不超过4码。 • 应该给用户提供足够的词库扩展空间和扩展手段,使用户能够方便自如地根据自己的需要增加用户词汇。
6、重码率低 • 一般用户可以实现“盲打”,即不用看键盘(有一定的键盘基础的情况下)和提示行就能够输入汉字。 • 只有能实现盲打,才能提高输入速度。
7、服务功能 • 系统能提供方便周到的自学检索服务功能。例如, • 对规则的训练指导、查询疑难字,容错处理、允许模糊输入等等。
8、具有广泛的适应性 • 适合不同年龄层次、不同地域、不同文化背景的人学习使用, • 同时,又能适应各种类型的输入,比如 • “照打”、“想打”、“听打”、“盲打”等。
1、流水码 • 流水码的特点是: • ①码元只有10个阿拉伯数字; • ②一般多为等长四码,有效数字不足四位的在前面加零补足四位; • ③字、码一一对应,没有重码; • ④字、码之间没有理据性,就是没经过专门训练不能做到“见字识码”;
2、拼音码 • 是以汉字的读音属性为编码依据,采用键盘上的拉丁字母做为码元的编码方法。又分为 • “全拼音码”、 • “简化拼音码”、 • “双拼音码”三种。 • 一般不加声调。
全拼音码的特点 • ①码元为26个拉丁字母; • ②与教学、社会应用的拼音规则完全一致,只要会拼音的人就会编码,能够作到“见字识码”; • ③因为是“按音编码”,怎么读就怎么输入,便于思路的连续性,适于“想打”即写作者边想边打的方式; • ④为不等长码,最长的如“装”“创”“双”音节都是6码; • ⑤重码较多,有的音节多达上百个重码,多次翻页,很不方便;
㈡简化拼音码 • 主要为了解决码长过长的问题,减少击键次数,提高输入速度,在拼写规则上加以简化处理,将双字母声母“ZH”“CH”“SH”以及许多两字母以上的复韵母都各用一个字母代替。比较常用的如前面介绍的CC-DOS所配置的拼音码。 • 简化拼音码的特点,除了比全拼音码减少码长外,其余与全拼音码都一样。但是,因为,增加了字母替换规则,所以,就比全拼音码增加了学习量。
㈢双拼音码 • 根据汉字传统的“反切”拼音的原理,采用一声一韵的字母拼写形式,进一步将每字的码长减少到两码。 • 双拼音码的特点是: • ①码元为26个拉丁字母; • ②较复杂的声母、韵母替换规则,须经过一段时间的学习才能掌握; • ③重码仍然与普通音码一样多; • ④由于码长短可以提高输入速度;
㈣标调拼音码 • 汉语是有声调的语言,汉语的声调是一个重要的“音位”,具有重要的辨义功能。有一种乐器叫做“雷琴”,可以只用“音高”就能模拟汉语的句子。这个例子足以说明汉语声调的重要性。
拼音码为了降低重码率,采用标调的办法,这样的拼音码,我们称之为“标调拼音码”。拼音码为了降低重码率,采用标调的办法,这样的拼音码,我们称之为“标调拼音码”。 • 汉语的音节是有数的:不加声调只有412个,加声调则有1300个左右。 • 汉字共有6万个。收在《基本集》中的有6763个。 • 不加声调平均每个音节约有15个重码,加上重码分布的不平衡,个别的音节就有几十甚至上百个; • 如果加上声调,平均每个音节只有不到4个重码了。
在汉语拼音方案中规定了“阴平、阳平、上声、去声”四种声调的调号,调号的位置要标在一个音节的主要元音的上面。比如,“āāǎàēéěèīíǐì”等。虽然字库中做好了带调号的主要元音的字模点阵,但是键盘上却没有相应的键位,所以,采用通用键盘输入汉字就无法输入调号,所以只好采用变通的办法。在汉语拼音方案中规定了“阴平、阳平、上声、去声”四种声调的调号,调号的位置要标在一个音节的主要元音的上面。比如,“āāǎàēéěèīíǐì”等。虽然字库中做好了带调号的主要元音的字模点阵,但是键盘上却没有相应的键位,所以,采用通用键盘输入汉字就无法输入调号,所以只好采用变通的办法。 • 汉语拼音历史上标调的方法有三种:符号标调法、数字标调法和字母标调法。
符号标调法 • 1918年注音字母公布时采用小圆圈标调,以一个拼音音节的四个角表示四个不同的声调,叫做“四声点法”或叫“点角法”。后来,改用现在的调号来表示。
数字标调法 • 比如用1、2、3、4分别表示一声、二声、三声、四声,将表示调号的数字放在一个音节的末尾。 • 在实际使用当中,又有一些变通的处理办法。比如, • 挑选出一个含字数最多的声调,作为“默认值”,用“零位”表示,即用不加调号来表示该调号。其余的分别加上数字调号,实际上等于只增加了三个调号符号。 • 这样作可以缩短码长,减少击键次数。采用这种方法的编码方案如山东烟台唐懋宽的“声数码”就是其中较有代表性的一个。
字母标调法 • 在具体做法上各有不同。这种方法在汉语拼音方案的设计过程中就有人试验过, • 其中比较有代表性的例子是“国语罗马字拼音方案”等。
“国罗”的声调表示法 • 〖阴平〗(包括轻声)用基本形式; • 〖阳平〗浊音半浊音声母(mnlr)用基本形式; • “i”、“u”作韵头时改为y、w,如: • 黄hwang、元yuan、今jyn, • 但是,单独作韵母时则用双字母表示,如: • 皮pyi、湖hwu; • 开口韵在元音后加“r”,如 • 拔bra、达dra、啥shra;
〖上声〗 • 单元音连写,如闪shaan,版baan、比bii; • 复韵母“i”改“e”、“u”改“o”,如检jean、广goang、百bae、好hao; • ei、ou、ie、uo四韵采用连写法,如北beei、手shoou、姐jiee、妥tuoo;
〖去声〗 • 韵尾改写:i改为y、u改为w、n改为nn、ng改为nq、l改为ll或h,如在tzay、占jann、胜shenq; • 采用字母标调的汉字编码方案如山东青岛丁天铎的“汉语辅助字编码方案”。
拼音编码的瓶颈 • 同音字繁多,影响输入 • 《新华字典》中,读SHI音的字有72个, • 《汉语词典》中,读YI音的字有164个。
同音词也影响编码输入 • Shi-shi的词就有如下的24条: • 失实、失时、诗史、失事、 • 失势、施事、实施、时时、 • 事事、时事、时势、时世、 • 时式、史诗、史实、试试、 • 誓师、事实、适时、事势、 • 逝世、世事、视事、实时
形码 • ① 字“形”具有“音”和“义”都无法比拟的唯一性。 • ② 字“形” 图形信息丰富,可供采用。 • ③ 字“形”不受不同口音、不同国家的影响。
形码主要根据汉字的字形特征信息进行编码。 • 汉字的形体分析有笔画、字根、结构方式、部位特征等。 • 从不同的角度选择特征信息、设计编码规则,就形成了不同类型的编码方案。
㈠笔画笔形码 • 以汉字的基本笔画特征为取码依据,参考笔顺、部位特征等信息的编码方案统称为“笔画笔形码”。
这类编码方案的基本方法是, • 首先确定汉字的基本笔画数,一般有“五种”、“六种”或“八种”不等, • 然后确定这些基本笔画的固定顺序,给每种笔画一个顺序代号。 • 按照写字时笔顺的先后就可以将一个汉字转换成笔画代码的线性排列。
例如,假设确定的汉字基本笔画为“横、竖、撇、捺、点、折”这样的六种,并且代号依次为“1、2、3、4、5、6”,例如,假设确定的汉字基本笔画为“横、竖、撇、捺、点、折”这样的六种,并且代号依次为“1、2、3、4、5、6”, • 这时,任何一个汉字都可以转换成用这六个数字组成的“数字串”来表示了。如:“中”2612,“国”26112151等。
笔画笔形码的特点 • ①码元数少; • ②规则极其简单,几乎没有记忆量; • ③平均码长过长,因为汉字的平均笔画约为11-12划,《基本集》中笔画最多的“齄”有23划。所以,单纯用笔画编码由于码长过长而降低了实用价值。 • ④由于有些字的笔顺缺乏统一和规范,在具体编码时会出现二义性情况;
㈡字根码 • 汉字是可以分析的,从《说文解字》开始,汉字就有两分法的传统,就有所谓“独体”“合体”之说。至今仍沿用的“部首查字法”实际上就是将汉字拆分成有限数量的结构单位,依此作为汉字检索的依据和途径。
字根码的特点 • ①克服表音码不知读音就不会编码的缺点,同时也避免了汉语方言对拼音码的干扰。即使不认识的汉字也能根据字根给出正确的编码; • ②重码率比音码大幅度降低; • ③规则较复杂,包括拆字、取码、确定字根代码等都有许多硬性规定的规则;
④学习量较大,尤其是字根与键位的对应关系难学难记。通常要把一、二百个字根安排在2-30个键位上不经过专门训练无法使用。一般学习期要3周到一个月;④学习量较大,尤其是字根与键位的对应关系难学难记。通常要把一、二百个字根安排在2-30个键位上不经过专门训练无法使用。一般学习期要3周到一个月; • ⑤因汉字的拆分没有统一的标准和规范,在字根的数量、大小、拆分方法、名称等方面都没有标准。各个编码方案的作者按照自己的认识去做,这些做法又与传统的汉字教学有许多不同,因此,给用户造成许多困惑。
字根码的瓶颈 • 部首只是汉字分析结果的一部分。 • 传统的汉字分析结果有偏旁、部首、声符、形符等名称。 • 它们之间虽然有区别,但是尚缺乏统一的称呼。比如说“偏旁”包括“部首”,但又有“左偏右旁”之说; • 又比如,上下结构的字,部首在上部,该怎么称呼它的结构成分呢; • 而且一个汉字去掉部首之后的部分,该叫什么名称呢。
许多表形码的作者自发地使用“字元”、“字素”、“构件”、“部件”、“构字成份”、“笔画组合”、“字根”等名称。这些名称的称谓对象并没有根本的区别。经研讨,大家基本倾向于使用“字根”的名称。本书就用“字根”一词作为笔画与汉字之间的成份的称呼。所以,字根码就包括了所有进行汉字拆分的编码方案。许多表形码的作者自发地使用“字元”、“字素”、“构件”、“部件”、“构字成份”、“笔画组合”、“字根”等名称。这些名称的称谓对象并没有根本的区别。经研讨,大家基本倾向于使用“字根”的名称。本书就用“字根”一词作为笔画与汉字之间的成份的称呼。所以,字根码就包括了所有进行汉字拆分的编码方案。 • 大小、标准都不同。比如“韶”字有分成“音”“召”二根的,也有分成“立”“日”“刀”“口”四根的。