下载第 3章 布莱叶盲文与二元编码摩尔斯不是第一个成功地将书写语言中的字母翻译成可解释代码的人,他也不是第一个因为其编码而受到人们纪念的人,享有这个荣誉的是一个晚摩尔斯 1 8年出生的早慧的法国失明少年。虽然人们对他的生平所知甚少,但就是所知的这一些却足以给后人留下深刻印象。
路易斯·布莱叶 1 8 0 9年出生于法国的 C o u p v r a y,他的家乡在巴黎以东 2 5英里,父亲以打造马具为生。 3岁时,在这个本不该在父亲作坊里玩耍的年龄,小布莱叶意外地被尖头的工具戳中了眼睛。由于伤口发炎,感染了另一只眼,他从此双目失明。布莱叶原本注定在贫困潦倒中度过一生(正如那时大多数盲人一样),但他的聪明才智和求知欲不久即显露了出来。在本地牧师和一位学校老师的帮助下,布莱叶和其他孩子一道上了学,1 0岁那年又前往巴黎的皇家盲人青年学院学习。
盲人教育的一大障碍就是他们无法阅读印刷书籍。
Valentin Haüy(1745— 1 8 2 2 ),巴黎学校的创始人,发明了一种将字母凸印以供触摸阅读的方法。但这种方法使用起来较为困难,并且只有很少的书籍用这种方法“制造” 。
视力正常的 H a ü y陷入了一种误区。对他而言,字母 A就是 A,它看起来(或感觉起来)也必须像是个 A。 (如果给他手电筒作为交流工具,他也会试图在空气中画出字母的形状,而我们已经知道这种方法并不有效。 ) H a ü y也许没有意识到一种与印刷字母完全不同的编码会更适于盲人使用。
另一种可选的编码有一个出人意料的起源。法国陆军上尉 Charles Barbier在 1 8 1 9年发明了一种他自称为 écriture nocturne的书写体系,这种体系也被称为“夜间文字。他使用厚纸板上有规律凸起的点划来供士兵们在夜间无声地传递口信(便条),士兵们使用尖锥状的铁笔在纸的背面刺点和划,凸起的点可以用手指感觉阅读。
B a r b i e r体系的问题是其过于复杂。 B a r b i e r没有用凸起的点来代表字母表中的字母,而是用其代表声音。这样的系统中一个单词通常需要许多码字表达。这种方法在野外传递短小消息还算有效,但对长一些的文章而言则有明显不足,更不要说是整本的书籍了。
布莱叶在 1 2岁时就熟悉 B a r b i e r方法了,他喜欢使用这些凸点,不仅因为它们易于用手指阅读,更因为它们易于书写。教室里拿着铁笔和纸板的学生可以记笔记供课后阅读。布莱叶勤奋地工作试图改进这种编码系统。不出 3年(在他 1 5岁时),他创建了自己的系统,其原理直到今天还在使用。布莱叶系统有很长时间仅局限在他所在的学校使用,后来它逐渐扩散到世界各地。 1 8 3 5年,布莱叶染上了结核病。 1 8 5 2年,在他 4 3岁生日过后不久,他便去世了。
时至今日,布莱叶系统的改进版本甚至可以与有声录音带竞争,它为盲人提供了与书写世界联系的途径。布莱叶方法仍是适于既聋又盲的人阅读的唯一方法。近来年,随着电梯和自动语言机的普及,布莱叶系统更加广为人知。
本章将剖析布莱叶编码的编码方法及其工作原理,不过不必真正学习布莱叶编码或记住任何东西,我们只要大概了解一下编码的本质就行了。
布莱叶编码中,普通书写语言的每个字符 — 具体而言如数字、字母和标点符号 — 都被编码成局限在 2× 3小格中一个或多个凸起的点。这些小格一般被标记为 1? 6:
在当今实际使用中,特殊的打字机或刻印机可以在纸上打出布莱叶编码中的小点。
由于在书中夹印几页布莱叶编码极其昂贵,我们使用了在通常印刷品中常用的布莱叶码的表示方法。在这种表示方法中,小格中的 6个点全部印刷出来,大点代表小格中的凸起点,
小点则代表平滑的点。例如下图中的布莱叶字母中,点 1,3,5是凸起的,点 2,4,6则没有:
在这里吸引我们的问题是:点是二元的。一个特定的点不是凸起的就是平滑的,那么 6个点的组合数目就是 2× 2× 2× 2× 2× 2,或 6 4 ( 26)。
因此,布莱叶编码系统可以代表 6 4个不同的码字。以下就是所有的 6 4个码字:
如果我们发现布莱叶编码只用了 6 4个码字中的一部分,我们会疑问为什么 6 4个码字中有一些不被使用;如果发现布莱叶编码使用了多于 6 4个的码字,则又会让人怀疑我们是否神志清醒或数字计算的真实性,2乘 2是等于 4吗?
分析布莱叶编码,还是从基本的小写字母开始:
10 编码的奥秘 下载举例来说,短语,you and me”在布莱叶编码中看起来是这样的:
注意,代表同一个单词中的字母的小格用一个小距离分隔,大一些的距离(一般是没有凸点的小格)用来分隔不同的单词。
这就是布莱叶发明的布莱叶编码的基础,布莱叶还为法文中出现的重音字母设计了码字。
注意,W没有对应的码字,这时由于在古法语中没有 W(不必担心,这个字母最终还是会露面的) 。这样算来,我们仅使用了 6 4个码字中的 2 5个。
通过仔细的检查,会发现上面的布莱叶编码存在特定的规律。第 1行(从字母 a? j)只用了小格的上面 4个点 — 点 1,2,4,5;第 2行除了点 3凸起外其余都与第 1行相同,第 3行则除了点 3,6凸起外其余都与第 1行相同。
在布莱叶之后,布莱叶编码在许多方面有了扩展,现在大多数英语出版物所使用的系统是二级布莱叶码。二级布莱叶码采用了许多缩写来简化编码树以提高阅读速度。以下的三行
(包括“完整的”第 3行)显示了下面这些词的码字:
因此,在二级布莱叶码中,短语,you and me”被写成如下形式:
到现在为止,已描述了 3 1个码字 — 词间没有凸起点的空格和三行每行 1 0个用于字母和单词的码字。这离理论上可用的 6 4个码字还相距甚远。不过我们将要看到,在二级布莱叶码中,没有任何浪费的码字。
首先,我们使用 a? j的编码加上凸起的 6号点。它们代表词中的缩写,这其中包括 W和另一个词的缩写:
举例来说,,a b o u t”可以用二级布莱叶码写成如下形式,
其次,可以把代表字母 a? j的码字中的点下移一行,即仅使用点 2,3,5和 6。这些码字根第 3章 布莱叶盲文与二元编码 11下载据上下文代表标点符号或缩写:
头 4个码字代表逗号、分号、冒号和句号。注意左括号和右括号用同一个码字代表,但左引号和右引号则使用了不同的码字。
已经有 5 1个码字了。接下来的 6个码字使用点 3,4,5,6尚未使用的组合来表示缩写和几个额外的标点符号:
,b l e”的码字非常重要,因为当它不是单词的一部分时,它表明其后跟随的码字要被翻译成数字,这些数字的编码与 a? j的编码相同:
由此,如下码字的序列代表数字 2 5 6:
如果你一直在计数的话,我们还需要 7个码字才能达到总计的 6 4个码字。下面就是剩余的
7个码字:
第一个(点 4凸起)是重音字母标识符,其余的作为一些缩写的前缀,也用于其他用途:
点 4,6凸起时(本行的第 5个码字),该码字代表数字中的小数点或强调标识符,这由上下文决定。点 5,6凸起时,码字则是与数字标识对应的字母标识。
最后(也许你正在疑惑布莱叶编码如何表示大写字母),我们用 6号点来作为大写标识,
它表明其后跟随的字母是大写的。例如,可用如下的码字写出该编码创始人的名字:
这包含大写字母标识、字母 l、缩写 o u、字母 i和 s,空格,另一个大写字母标识,字母 b,r,a、
i,l,l和 e(在实际应用中,该名字还可以再删掉最后两个不发音的字母) 。
总结一下,我们已经看到了 6个元素(凸点)如何恰好形成 6 4个码字。这 6 4个码字根据上下文大多有双重含义,其中有数字标识以及取消数字标识作用的字母标识。这些标识改变了跟随其后的码字的含义 — 从字母变数字或从数字变字母。起这种作用的码字常被称为,先行码/前置码,或,转义码,,它们更改其后字符的含义直至更改作用被取消。
大写标识表示其后的字母(也仅有字母)应写成大写,这种码字被称为“换码代码” 。,换码代码”使你“避免”那种单调的、常规的码字解释,而转入一种新的解释方法。在以后几章中可以看到,当把书面语言转换为二元码字时,“换码代码”和“转义码”的使用是很普遍的。
12 编码的奥秘 下载下载