晚上好,本章分享:隐匿在计算机背后的语言《编码》(至亲密友)一章,读完之后让我很兴奋,再此分享,分享。
正文:
你今年10岁,你最好的朋友就住在你家对面,那么事实上,你们各自的卧室的窗户正好彼此相对。每当夜幕降临,父母就同往常一样,早早的就催你睡觉了,但是呢? 你和你的好朋友还想交流想法,谈谈人生,分享自己有趣的事情,扯扯闲话,开开玩笑。无论怎样,渴望交流本来就是人类最主要的天性之一。(此时你非常渴望交流)
当卧室里面灯亮着的时候,你可以和朋友互相挥手,使用各种手势或者简单的肢体进行沟通,来表达此刻的想法,但是要表达复杂的想法可能就比较困难了,而且一旦父母宣布关灯,这种交流方式可能不会在继续下去了。(此时你还是非常渴望沟通!)
那么如何交流呢? 或许你可以打一个电话,但是10岁的小朋友自己的卧室可能会有电话吗,那么即使有电话,你们的谈话都会被偷听,这秘密不就泄露了吗? 如果你家里电脑连接了电话线,它有可能帮上忙,而且重要的是不会发出响声。 但是 电脑会放在一个10岁小朋友的房间吗?? 不会。
这时候,你会想到我们可以使用手电筒。那么手电筒是为了让孩子在被窝中看书而发明的,在天黑以后用手电筒来交流信息,其实也是一个理想的选择,它们当然是可以安静的。而且光线是高度定向的,同时光线也不会渗漏出卧室引起家人的怀疑。
手电筒可以交谈吗? 这当然值得试试,例如:我们在上小学的时候我们在纸上写过字母O 同时我们也写过字母L,那么就可以使用手电筒在空气中划一个圈,然后关闭掉手电筒,对于字母L 竖着划一下,但是你很快就会发现,这个方法行不通,当你看着你的朋友在空气中画圈时,会发现在脑海中组合出那么多复杂的笔画,这些旋转的光线都太不准确了。。。
在一部电影中,一个间谍转动一面镜子将太阳光反射到另外一个房间里,从而向同伙传递信息,或者那正是解决问题的方法,如此一来,你就可以发明一种简单的技术,在这个方案里,字符表里的每个字符对应着一串手电筒闪烁,“A”是闪一次,“B”是闪两次,以此类推那么“Z”就闪26次。 那么单词的BAD可以用闪2次闪1次闪4次这样的方式组合来表示。 而且字符之间设置的停顿,不至于被误认为闪7次是字母G 另外 单词之间的停顿还是可以稍微长一些。
到这里可能觉得有希望了,采用这种方式的好处就是不需要在用手电筒来进行一步步的笔画了。只要对准方向和开关就可以了。 但是这个方案有一个不足的地方, 如果要表达一个消息是How are you? 那么你将一共需要让手电筒闪131次 而且,这还是忽略了标点符号的,你还没有设计闪多少次来对应一个“?“问号?
但是这已经离答案更近一步了。我们能够肯定的是,再次之前一定有人也遇到过类似的问题。 等到了白天,跑到了一家图书馆,查查资料,这时候你发现了一个被称为:莫尔斯电码的伟大发明。 这个正是你想要的,尽管你现在必须重新学习如何去“写” 字母表里的字母。
它们的不同之处在于,在你发明的系统里,字母表里面的每个字母都是用数目的闪光表示的, 闪1下就是A 闪26下就是Z 而在莫尔斯电码里则使用-闪烁—短闪—长闪。 当然这使莫尔斯电码更加的复杂。但是在实际应用中它被证明是最有效的。
例如: 句子 How are you? 现在只需要闪32下(包括长闪 短闪)而不是131下了,重要的是在这其中还包括了?编码!!!
莫尔斯电码是如何工作的呢?
它们使用点 和 划,在莫尔斯电码里,字母里的每一个字母都与一个点 划序列对应,以下是摩尔斯电码表转换图:
尽管摩尔斯电码与计算机毫不相关,但熟悉它的本质却对深入了解计算机内部语言和软硬件的内部结构有很大的帮助。
编码或代码(c o d e)通常指一种在人和机器之间进行信息转换的系统(体系)。换句话说,编码便是交流。有时我们将编码看成是密码(机密),其实大多数编码并不是的。大多数的编码都需要被很好地理解,因为它们是人类交流的基础。
在《百年孤独》的一书的开篇,马尔克斯回忆了一个时代,那时“世界一片混沌,许多事物没有名字。为了加以区别才给事物各个命名。”这些名字都是随意的,没有什么原因说明为什么不把猫称为狗或不把狗称为猫。可以说英语词汇就是一种编码。
我们用嘴发出声音组成单词,这些词可以为那些听得到我们声音,理解我们所用语言的人所听懂,我们称这种编码为“口头语言”或“语音”。对写在纸上(或凿在石头上、刻在木头上或通过比划写在空气中)的词,还有一种编码方式,那就是我们在印刷的报刊,杂志和书籍上看到的字符,称之为“书面语言”或“文本”。在许多语言中,语音和文本间有很强的联系。例如在英语中,字母或一组字母与一定的读音相对应。
手势语言的发明帮助了聋哑人进行面对面的交流。这是一种用手和胳膊的动作组合来表达词语中的单个字母、整个词及其基本概念的语言。对盲人来说,他们可以使用布莱叶盲文(B r a i l l e)。这种文字使用凸起的点代表字母,字母串和单词。当谈话内容要被迅速地记录下来时,缩写和速记是很有用的。人们在相互沟通时使用了各种不同的编码,因为在不同的应用场合,其中的一些较其他的更为简便。例如,语言不能在纸上存储,所以使用了文字;语言、文字不适合用来在黑夜中安静地传递消息,故摩尔斯电码是一个方便的替代品。只要一种编码可以适用于其他编码
所不能适用的场合,它就是一种有用的编码。
以后将看到,计算机中使用了不同的编码来传递和存储数字、声音、音乐、图像和视频(电影)。计算机不能直接处理人类世界的编码,因为它不能模拟人类的眼睛、鼻子、嘴和手指来接收信息。尽管这些年来计算机的发展趋势使我们的桌上电脑具有捕获、存储、处理和提供人类交流中所使用的各种信息的能,而且不论这些信息是视觉的(文字和图片)、听觉的(语言、声音及音乐)还是两者的混合(动画和电影)。所有这些信息都要求使用它们自己的
编码方式,正如交谈需要使用人的某些器官(嘴和耳朵),而书写和阅读则需要使用另外一些器官(手和眼睛)一样。用手电筒发送摩尔斯电码时,电筒的开关快速地合开代表一个点,让电筒照亮稍长的时间则代表一个划。举例来说,发送字母A,要先快速地合开开关,然后再稍慢些合开。在发送下一个字母前要有短暂的停顿。约定划的时间大约是点的3倍。例如,如果点的照亮时间为1秒,那么划就是3秒。(实际上,摩尔斯电码的传递速度要快得多。)接收者看到了短闪和长闪就知道是A。摩尔斯电码中点划之间的间隔是极为关键的。例如,发送字母A时,点划之间的间隔应与一个点的时间大致相同(如果点的时间是1秒,那么间隔的时间也是1秒)。同一个词中字母间间隔稍长,约为划的持续时间(或者3秒,如果那是划的持续时间的话)。下面是单词“h e l l o”
对应的摩尔斯电码,图中示意了字母间的间隔(隙):
单词之间相隔大约2倍于划的时间(如果划是3秒,那么间隔即为6秒)。下面是“ hi there”
对应的编码(码字):
手电筒开和关的时间长度并没有限定,这取决于点的时间长度,点长又由手电筒开关触发的速度和摩尔斯电码发送者记忆电码的熟练程度来决定,熟练发送者的划也许与生手的点等长。这个小问题会使接收电码有些困难,但在一两个字母之后,接收者通常就可以辨认出哪个是点,哪个是划了。粗看起来,摩尔斯电码的定义—这里所谓的定义是指与字母表中的字母相对应的各种点划序列—与打字机字母的排列一样是随意的。但仔细观察后你会发现不完全如此,简短的码字分配给了使用频率较高的字母,例如E和T,爱**的人和“财富之轮”爱好者可能一下就注意到了这个问题;不常用的字母如Q和Z(它们在赌局中是1 0点)则分配以较长的码字。
几乎所有人都知道一点儿摩尔斯电码,国际遇险信号S O S的摩尔斯电码为“三点三划三点”。S O S并非缩写,选择它仅仅因为它有一个易记的摩尔斯电码序列。第二次世界大战中,英国广播公司选用贝多芬第五交响曲中的片段作为节目前奏— B A H 、B A H 、B A H 、B A H M M M M M,听起来颇像摩尔斯电码中V(代表Vi c t o r y)的码字。摩尔斯电码的一个缺点是它没有对大小写字母进行区分。除表示字母外,摩尔斯电码还用5位长的码字来表示数字:
这些数字的码字看起来还有些规律(相对于字母对应的码字而言)。大多数标点符号的码字采用5位、6位或7位的码长
对欧洲一些语言中的重音字母以及一些有特殊用途的缩写定义了特别的码字, S O S就是这样一个缩写:发送时每个字母的码字之间仅有一点的时间间隔。如果有特制的用于发送摩尔斯电码的手电筒,你和朋友之间的交流就方便多了。这种手
电筒除了常有的开关,还有一个按钮,按压按钮就可以控制电筒的亮灭。经过练习后,你们每分钟可以发送和接收5~1 0个单词。虽然仍比交谈慢(大概每分钟1 0 0个词左右)但已足够用了。当你和朋友最终熟记了摩尔斯电码时(这是唯一精通发送接收的方法),你也可以用它代替日常用的语言。为了达到最高的速度,可以发“滴( d i h)”音代表点、“嗒( d a h )”音代表划。摩尔斯电码同样也可将文字简化为用点和划两个符号表示。以上的关键在于“两”这个词—“滴、嗒”两个声音,“点、划”两种方式。实际上任何两种不同的东西经过一定的组合都可以代表任何种类的信息。这确实是千真万却的。
理解以下莫尔斯电码转换,以上内容很好理解并(很有趣~)
Goodbye to you friends
嗒-嗒-嘀 嗒-嗒-嗒 嗒-嗒-嗒 嗒-嘀-嘀 嗒-嘀-嘀-嘀 嗒-嘀-嗒-嗒 嘀 嗒 嗒-嗒-嗒 嗒-嘀-嗒-嗒 嗒-嗒-嗒 嘀-嘀-嗒 friends~
dab-dab-dib dab-dab-dab dab-dab-dab dab-dib-dib dab-dib-dib-dib dab-dib-dab-dab dib dab dab-dab-dab dab-dib-dab-dab dab-dab-dab dib-dib-dab friends~