第1章 电 筒 密 谈 假若你才 1 0岁,你的好朋友与你临街而住,而且你们卧室的窗户面对着面 。每天晚上, 当父母像平常一样很早催你上床睡觉时,你可能还想与好朋友交流思想、发现、小秘密、传 闻、笑话和梦想,没有人可以责备你,毕竟 ,渴望交流是大多数人的天性。 当你们卧室还亮着灯时,你和你的好朋友可以临窗舞动手臂、打手势或以身体语言来交 流思想,但复杂一些的交流就有些困难了。而且一旦父母宣布“熄灯”,交流也就无法继续进 行了。 如何联系呢?用电话吗? 1 0岁的小孩子屋里有电话吗?即使有,你们的谈话可能被偷听。 如果家里的电脑通过电话线联了网,它可能会提供无声的帮助,不过很不幸,它也不会在你 的房间里。 你和朋友采用的方法是用手电筒。所有的人都知道手电筒是为孩子们藏在被窝里看书而 发明的,它也适合在黑暗中用来交流。它无声无息,且光的方向性很好,不会从卧室的门缝 中泄露而使家人起疑。 用手电筒的光可以交谈吗?这值得一试。一年级你就学过在纸上写字母和单词,把这种 方法运用到手电筒上看起来也合情合理。你所需做的就是临窗而站,用光画出字母。画字母 ‘O’,就打开电筒,在空中画个圈,然后关上开关;字母‘ I’则是画竖直的一笔。但是你很 快发现这种方法行不通,当你注视来去飞舞的光柱时,会发现在脑海中将它们组合起来不是 件容易的事,这些光划成的圈圈杠杠太不准确了。 也许你曾经看过一部电影,影片中两个水手隔海用闪烁的光传递消息。在另一部电影中, 一个间谍用镜子反射阳光向一间屋子中被俘获的同伙发送讯息。这就给了你启发,你起先设 计一种简单的交流方法,使字母表中的每个字母与一定数目的闪烁相对应。 A闪一下, B闪两 下,C闪三下,如此递推, Z就闪烁2 6下。B A D这个词由字母间有间隔的两闪、一闪、四闪组 成,这样你不会误以为它是闪七下的字母 G了。词间的停顿则比字母间的停顿时间稍长一些。 这看起来很有希望,采用这种方法的优点是你不需要在空中挥舞手电简,只需对准方向 按开关就行了;缺点是你试图发送的第一个消息(“How are you?” )就需要 1 3 1次闪烁,更 糟的是,你忘了定义标点符号,所以无法表示句尾的问号了。 这离问题的解决已经很近了,你想别人以前肯定也遇到过类似的问题,你解决它的思想 一定是正确的。为了解决问题,白天的图书馆之行使你发现了神奇的摩尔斯电码(morse code), 这正是你想要的,即使你不得不重新学习如何“写”字母表中的字母。 以下就是区别:在你发明的体系中,每个字母是一定数目的闪烁,从闪烁一下的 A到闪烁 26的Z;而在摩尔斯电码中,有长短两种闪烁,当然,这会使摩尔斯电码更为复杂,但它在实 际应用中却被证实是更有效的。那句“ How are you?”现在仅需 3 2次而不是 1 3 1次闪烁,而 且这还包含了问号。 在讨论摩尔斯电码的工作原理时,人们并不说“长闪烁”、“短闪烁”,他们使用“点 (d o t)”和“划( d a s h)”,因为这样易于在印刷品上表示。在摩尔斯电码中,字母表中的每一 2 编码的奥秘 个字母与一个点划序列相对应,正如在下表中你所看到的: 尽管摩尔斯电码与计算机毫不相关,但熟悉它的本质却对深入了解计算机内部语言和软 硬件的内部结构有很大的帮助。 在本书中,编码或代码( code)通常指一种在人和机器之间进行信息转换的系统(体系)。 换句话说,编码便是交流。有时我们将编码看成是密码 (机密),其实大多数编码并不是的。大 多数的编码都需要被很好地理解,因为它们是人类交流的基础。 在《百年孤独》的一书的开篇,马尔克斯回忆了一个时代,那时“世界一片混沌,许多 事物没有名字。为了加以区别才给事物各个命名。”这些名字都是随意的,没有什么原因说明 为什么不把猫称为狗或不把狗称为猫。可以说英语词汇就是一种编码。 我们用嘴发出声音组成单词,这些词可以为那些听得到我们声音,理解我们所用语言的 人所听懂,我们称这种编码为“口头语言”或“语音”。对写在纸上(或凿在石头上、刻在木 头上或通过比划写在空气中)的词,还有一种编码方式,那就是我们在印刷的报刊,杂志和 书籍上看到的字符,称之为“书面语言”或“文本”。在许多语言中,语音和文本间有很强的 联系。例如在英语中,字母或一组字母与一定的读音相对应。 手势语言的发明帮助了聋哑人进行面对面的交流。这是一种用手和胳膊的动作组合来表 达词语中的单个字母、整个词及其基本概念的语言。对盲人来说,他们可以使用布莱叶盲文 (B r a i l l e)。这种文字使用凸起的点代表字母,字母串和单词。当谈话内容要被迅速地记录下 来时,缩写和速记是很有用的。 人们在相互沟通时使用了各种不同的编码,因为在不同的应用场合,其中的一些较其他 的更为简便。例如,语言不能在纸上存储,所以使用了文字;语言、文字不适合用来在黑夜 中安静地传递消息,故摩尔斯电码是一个方便的替代品。只要一种编码可以适用于其他编码 所不能适用的场合,它就是一种有用的编码。 以后将看到,计算机中使用了不同的编码来传递和存储数字、声音、音乐、图像和视频 (电影)。计算机不能直接处理人类世界的编码,因为它不能模拟人类的眼睛、鼻子、嘴和手 指来接收信息。尽管这些年来计算机的发展趋势使我们的桌上电脑具有捕获、存储、处理和 提供人类交流中所使用的各种信息的能,而且不论这些信息是视觉的(文字和图片)、听觉的 (语言、声音及音乐)还是两者的混合(动画和电影)。所有这些信息都要求使用它们自己的 编码方式,正如交谈需要使用人的某些器官(嘴和耳朵),而书写和阅读则需要使用另外一些 第1章 电 筒 密 谈 3 器官(手和眼睛)一样。 用手电筒发送摩尔斯电码时,电筒的开关快速地合开代表一个点,让电筒照亮稍长的时 间则代表一个划。举例来说,发送字母 A,要先快速地合开开关,然后再稍慢些合开。在发送 下一个字母前要有短暂的停顿。约定划的时间大约是点的 3倍。例如,如果点的照亮时间为 1 秒,那么划就是 3秒。(实际上,摩尔斯电码的传递速度要快得多。)接收者看到了短闪和长闪 就知道是A。 摩尔斯电码中点划之间的间隔是极为关键的。例如,发送字母 A时,点划之间的间隔应与 一个点的时间大致相同(如果点的时间是 1秒,那么间隔的时间也是 1秒)。同一个词中字母间 间隔稍长,约为划的持续时间(或者 3秒,如果那是划的持续时间的话)。下面是单词“ hello” 对应的摩尔斯电码,图中示意了字母间的间隔(隙): 单词之间相隔大约 2倍于划的时间(如果划是 3秒,那么间隔即为6秒)。下面是“ hi there” 对应的编码(码字): 手电筒开和关的时间长度并没有限定,这取决于点的时间长度,点长又由手电筒开关触 发的速度和摩尔斯电码发送者记忆电码的熟练程度来决定,熟练发送者的划也许与生手的点 等长。这个小问题会使接收电码有些困难,但在一两个字母之后,接收者通常就可以辨认出 哪个是点,哪个是划了。 粗看起来,摩尔斯电码的定义 — 这里所谓的定义是指与字母表中的字母相对应的各种 点划序列 — 与打字机字母的排列一样是随意的。但仔细观察后你会发现不完全如此,简短 的码字分配给了使用频率较高的字母,例如 E和T,爱赌博的人和“财富之轮”爱好者可能一 下就注意到了这个问题;不常用的字母如 Q和Z(它们在赌局中是 1 0点)则分配以较长的码 字。 几乎所有人都知道一点儿摩尔斯电码,国际遇险信号 S O S的摩尔斯电码为“三点三划三 点”。S O S并非缩写,选择它仅仅因为它有一个易记的摩尔斯电码序列。第二次世界大战中, 英国广播公司选用贝多芬第五交响曲中的片段作为节目前奏 — BAH、BAH、BAH、 BAHMMMMM,听起来颇像摩尔斯电码中 V(代表Victory)的码字。 摩尔斯电码的一个缺点是它没有对大小写字母进行区分。除表示字母外,摩尔斯电码还 用5位长的码字来表示数字: 这些数字的码字看起来还有些规律 (相对于字母对应的码字而言 )。大多数标点符号的码字 采用5位、6位或7位的码长: 4 编码的奥秘 对欧洲一些语言中的重音字母以及一些有特殊用途的缩写定义了特别的码字, S O S就是 这样一个缩写:发送时每个字母的码字之间仅有一点的时间间隔。 如果有特制的用于发送摩尔斯电码的手电筒,你和朋友之间的交流就方便多了。这种手 电筒除了常有的开关,还有一个按钮,按压按钮就可以控制电筒的亮灭。经过练习后,你们 每分钟可以发送和接收 5~1 0个单词。虽然仍比交谈慢(大概每分钟 1 0 0个词左右)但已足够 用了。 当你和朋友最终熟记了摩尔斯电码时(这是唯一精通发送接收的方法),你也可以用它代 替日常用的语言。为了达到最高的速度,可以发“滴( dih)”音代表点、“嗒(dah)”音代表划。 摩尔斯电码同样也可将文字简化为用点和划两个符号表示。 以上的关键在于“两”这个词 — “滴、嗒”两个声音,“点、划”两种方式。实际上任 何两种不同的东西经过一定的组合都可以代表任何种类的信息。 第2章 编码与组合 摩尔斯电码由萨缪尔・摩尔斯( 1 7 9 1—1 8 7 2)发明,本书后面会在多处提到他。摩尔斯 电码是随着电报机的发明而产生的,电报机我们以后也还要做详尽的说明。正如摩尔斯电码 很好地说明了编码的本质一样,电报机也提供了理解计算机硬件的良好途径。 大多数人认为摩尔斯电码的发送易于接收,即使你没有记住摩尔斯电码,也可以方便地 借助下面这张按字母顺序排列的表发送: 接收摩尔斯电码并将其翻译回单词比发送费时费力多了,因为译码者必须反向地将已编 码的“滴-嗒”序列与字母对应。例如,在确定接收到的字母是“ Y”之前,必须按字母逐个 地对照编码表。 问题是我们仅有一张提供“字母→摩尔斯电码”的编码表,而没有一张可供逆向查找的 “摩尔斯电码→字母”译码表。在学习摩尔斯电码的初级阶段,这张译码表肯定会提供很大的 便利。然而,如何构造译码表却毫无头绪,因为我们似乎无法找出这些按字母顺序排列的 “滴-嗒”序列的规律。 那么忘记那些字母序列吧,也许按照码字中“滴” “嗒”的个数来排列会是个更好的尝试。 例如,仅含一个“滴”或“嗒”的摩尔斯电码序列只可能代表 E或T这两个字母之一: 两个“滴”或“嗒”的组合则代表了 4个字母I、A、N、M: 三个“滴”或“嗒”的序列代表了 8个字母: 6 编码的奥秘 最后(如果不考虑数字和标点符号的摩尔斯电码),四个“滴”或“嗒”的序列则共代表 了16个字母: 四张表共包括2 + 4 + 8 + 16 = 30个编码,可与30个字母相对应,比拉丁字母所需的26个字 母还多了4个。出于这个原因,在最后一张表中,你可能注意到有 4个编码与重音字母相对应。 在翻译别人发送的摩尔斯电码时,上面 4张表提供了极大的便利。当你

pdf文档 编码:隐匿在计算机软硬件背后的语言

计算机 > 其他 > other > 文档预览
275 页 0 下载 430 浏览 0 评论 0 收藏 3.0分
温馨提示:如果当前文档出现乱码或未能正常浏览,请先下载原文档进行浏览。
编码:隐匿在计算机软硬件背后的语言 第 1 页 编码:隐匿在计算机软硬件背后的语言 第 2 页 编码:隐匿在计算机软硬件背后的语言 第 3 页 编码:隐匿在计算机软硬件背后的语言 第 4 页 编码:隐匿在计算机软硬件背后的语言 第 5 页
下载文档到电脑,方便使用
还有 270 页可预览,继续阅读
本文档由 user2021-02-28 13:26:10上传分享
给文档打分
您好可以输入 255 个字符
DocHub文库的中文名是什么?( 答案:多哈 )
评论列表
  • 暂时还没有评论,期待您的金玉良言