个人希望通过笔记的方式记录研读IT著作的收获,也算是对自己的一个督促,笔记内容不会照搬原文,尽量以最简洁的形式阐述原文,对原文内容会有所取舍并且加上自己的感想等,供自己之后查阅,毕竟好记性不如烂笔头(虽然不是以纸笔的形式)~

目录

首先提一个小问题~

通过绞尽脑汁,终于想到了一个办法

第二天跑一趟图书馆查资料,发现了莫尔斯电码(MorseCode )

编码就是交流,编码无处不在~

莫尔斯编码详解

SOS莫尔斯编码

手电筒用莫尔斯编码


首先提一个小问题~

你和小伙伴住在街对过,而且各自卧室的窗户正好相对。有天晚上,你们还没聊完就被爸妈赶回房间让睡觉了,但你们还有话要聊(假设不拖到明天),当卧室的灯亮着的时候,你可以和朋友互相挥手,使用各种手势来表达一两个想法,不过很可惜,爸妈把灯给关了。电话、电脑也不在房间(假设不出卧室),然后你和小伙伴采用的方法就是用手电筒,因为手电筒光线在晚上高度定向而且也不会有声响(不会影响到其他人)。

你们站在窗户边,用手电筒的光线画出字母(汉字也行,难度还要高一些),比如字母 “o”,打开手电筒,在空气中划一个圈,然后关掉手电筒。但是,你们很快发现这个方法不太行得通,。当你看着小伙伴的手电筒在空中圈圈点点时,头脑中很难组合出那么多复杂的笔画,而且旋转和倾斜的光线也不太准确。那么,有什么好的办法通过手电筒来达到目的呢?(能想到不~)

通过绞尽脑汁,终于想到了一个办法

那就是发明一种简单的技术。在这个方案里,字符表里的每个字符对应一连串的手电筒闪烁。“A” 是闪一次,“B” 是闪两次,“C” 是闪三次,依此类推,“Z” 就是闪 26 次。单词 BAD 可以用闪 2 次,闪 1 次,闪 4 次这样的一个组合来表示,而且在字符之间设置的小停顿使这个单词不至于被误认为是闪 7 次的字母 “G”。另外,单词之间停顿可以稍长些。

嘿嘿,采用这种方法就不必在空中比划手电筒了,只要对准方向和按开关就行了。不过,这种方案也有一个不足,那就是如果你想发送的第一个消息是 “ How are you? ‘ 那么你将总计需要让手电筒闪 131 次!而且,这还是忽略了标点符号的,那到底要闪多少次呢!你们废了好大力气才聊了一些简单的词,然后就去睡觉了。

第二天跑一趟图书馆查资料,发现了莫尔斯电码(MorseCode )

这不就是你想找的么, 尽管你现在必须重新学习如何去 “写” 字母表里的字母。它们的不同之处在于:在你发明的系统里,字母表里的每个字母就是用一定数目的闪光表示的,闪 1 下为 “A”,闪 26下为 “Z”。而在莫尔斯电码里,则有两种闪烁~短闪长闪。莫尔斯电码更加复杂,但是在实际应用里它被证明是更为有效的。句子 “ How are you?” 现在只要闪 32下(包含一些短闪和一些长闪),而不再是 131 下, 而且这其中还包括了一个代表问号的编码。

当问及莫尔斯电码是如何工作的时候,人们并不会谈论 “短闪” 与 “长闪”。相反, 他们使用 “点(dot )” “划(dash )”,因为这是在打印纸上显示编码的一个便利方法。 在莫尔斯电码里,字母表里的每个字母都与一个点划序列相对应,正如下表所示。

虽然莫尔斯电码和计算机毫无关系,但是,熟悉编码的本质对于深入理解计算机软硬件内部结构以及隐匿在其后的语言将大有裨益!

编码就是交流,编码无处不在~

在这本书里,编码这个词的意思是指一种用来在机器和人之间传递信息的方式。换句话说,编码就是交流。有时候我们认为编码就是指秘密的东西(密码 )。但是大部分编码不是这样的。毕竟,大部分编码必须易于理解,因为它们是人类交流的基础。大家发出的声音所形成的词语是一种可识别的编码。我们将这个编码称为 “口头话语(the spoken word )” 或 “言 辞(speech )”。那么写在纸上或其他介质就是“书面语言(the written word )”。

我们使用各种不同的编码来为我们自己的交流服务,因为有些编码有时比其他编码更便捷。例如,话语的编码不能存储在纸上,因此,书写的编码就被用来替代话语的编码。我们将会看见,各种类型的编码也用在计算机里来存储和传递数字、声音、音乐、 图片和电影。

计算机不能直接处理人类的编码,因为计算机无法通过与人类的眼睛、耳朵、嘴巴和手指完全相同的方式来接收人类发出的信息。然而,计算机技术使得我们的个人计算机能够获取、存储、处理和呈现一切用于与人类沟通的信 息,无论视觉信息(文字和图片),还是听觉信息(口语、声音和音乐 ),或两者的相结合(动画和电影 )。所有这些类型的信息都需要它们各自的编码,就像人类说话需要一套 器官(嘴和耳朵)而写作和阅读需要另一套(手和眼)一样。

莫尔斯编码详解

莫尔斯编码表,其本身就是一种类型的编码。在这个表中,每个字母由一系列的 “点” 和 “划” 来表示。然而实际上我们不能发送 “点” 和 “划”,相反, 我们发送与 “点” 和 “划” 对应的闪烁光。

在莫尔斯编码中,“点” 和 “划” 之间的停顿是至关重要的。例如,当发送一个字母A 时,在发送的 “点” 和 “划” 之间,手电筒要关闭一段时间,这相当于一个点的闪烁时长(如果 “点” 的时长是 1 秒钟,那么 “点” 和 “划” 之间的停顿也应该是 1 秒钟)。对于同一个单词中的字母,则通过较长的停顿来分隔,这大约相当于一个“划” 的时长(或 者说是 3 秒钟,如果一个“划” 的时长就是 3 秒钟的话 )。下图以 “hello” 的莫尔斯编码为例,说明字母之间的停顿(间隙)。

单词之间则通过相当于两个“划” 的时长来分隔(如果一个 “划” 的时长为 3 秒钟, 那么这个停顿就应当为 6 秒钟 )。(假设每个发送者“点”、 “划” 、停顿时间一致,一切就都说得通,不过现实情况更为复杂)

SOS莫尔斯编码

三个点、三个划,再加三个点就表示 SOS,即国际求救信号。SOS不是一个缩写,这只是一个易于记忆的莫尔斯编码序列

手电筒用莫尔斯编码

如果有一个专门为此设计的手电筒的话,你会发现和朋友之间通过莫尔斯编码交流 将变得更加简单。除了一个可以滑动的开关外,这种手电筒还有一个按钮开关用来控制 灯光的明灭。在一些实际应用中,可以达到每分钟传递5 到 6 个单词的速度一虽然这仍 比讲话慢得多(讲话的速度在每分钟 100个单词左右),但这已经足够了。

当你和朋友最终熟记了莫尔斯编码之后(这是能熟练地收发编码的唯一方法 ),你们甚至可以在口语中使用它,用来取代正常的语言。