跳到主要内容

引言

本节中,我们将介绍一些基本概念,使读者对于顶功的介绍做好准备。

汉字的编码输入

自上世纪七十年代以来,计算机技术在我国的发展和普及使得汉字的信息处理成为一项关系到文化发展与社会进步的重要任务。其中,以恰当的方式将汉字输入计算机是汉字信息处理所面临的首要挑战,这是因为汉字结构复杂、数量繁多,不能像拼音文字一样直接输入计算机,而是要通过编码的方式输入计算机。

在汉字编码输入中,被编码的对象可以是单个汉字,可以是词语和短句,也可以是汉语标点符号和其他特殊符号。简便起见,我们将被编码的对象统称为消息,所有消息的集合称为消息集。例如,GB/T 2312–1980 规范1中的 6763 个汉字组成了一个消息集,现代汉语词典中的所有词语也组成了一个消息集。

符号、符号集与符号串

所谓编码,就是将汉字用一系列符号来表示。我们将一系列符号输入计算机,然后计算机将这些符号重新还原成汉字,这样就实现了汉字的输入。符号的选取多种多样,常见的选择是使用 26 个拉丁字母 a,b,,z\mathrm{a, b,\cdots, z},但也可以使用键盘上的其他符号。对于一个特定的编码输入方案来说,它用到的全部符号构成的集合称为符号集

给定一个符号集 SS,我们称由零个、一个或多个 SS 中的符号顺次相连产生的序列为 SS 上的符号串(简称)。特别地,我们记零个符号对应的串为 ε\varepsilon。例如,ε\varepsilon, a, z, abc, sdfg 都是 26 个拉丁字母 a,b,,z\mathrm{a, b,\cdots, z} 上的符号串。

语言和码

给定一个符号集 SS,我们称由零个、一个或多个 SS 上的符号串构成的集合为一个 SS 上的语言

给定一个消息集 MM 和一个语言 LL,若对于 MM 中的每一个消息 mm,我们都可以为它指定 LL 中的一个符号串 ll 与之对应,那么我们就构造了一个码。形式化地来说,一个码是一个消息集到语言的映射:

f:ML;f(m)=lf:M\to L;\quad f(m) = l

非奇异码

称一个码是非奇异码,如果该码是一个单射。

Footnotes

  1. 参见百度百科 https://baike.baidu.com/item/%E4%BF%A1%E6%81%AF%E4%BA%A4%E6%8D%A2%E7%94%A8%E6%B1%89%E5%AD%97%E7%BC%96%E7%A0%81%E5%AD%97%E7%AC%A6%E9%9B%86/8074272?fromtitle=GB2312&fromid=483170