虽然还没有看这本书,但是已经有所耳闻这本书的价值。

第一章通过一个真实的例子引入了编码的概念。如果我们要在一个黑暗的地方进行秘密的交流,那么我们通常的手写、口语都是失效的,我们必须自己想一个办法使得交流既方便又安全。

编码,听起来是一个非常深奥的词,实际上其实就是机器和人传递信息的方式,简单的说,就是交流,比如我们平常说的普通话就是一种编码。因此编码随处可见。

我们引入一个很重要的编码,就是莫尔斯编码,他通过手电筒的短闪和长闪进行方便的传输。因为只有两个元素组成,所以也称为二进制码。

方法如下:

1.     我们把每个字母、数字、标点符号都用短闪和长闪进行组合,当然我们可以让出现频率高的字符使用较简易的编码,这样可以减少交流的时间。

2.     我们需要规定在字符与字符之间、单词与单词之间、重复字符之间的间隔。我们做了如下规定,比如一个短闪占1秒,一个长闪占3秒,字符与字符之间是一个短闪的时间,单词与单词之间用两个长闪的时间,重复字符之间用一个长闪时间,这样我们就能很清晰的区分每一个单词。

当然这也是有缺点的,比如不能区分字母的大小写等。

得出一个结论,就是2是一个神奇的数字,只要有两个不同的事物,就能通过组合成所有的信息。

我们看到莫尔斯编码发现,编码非常简单,只需要通过我们提供的表进行发送即可。但是编码一定会有解码,对于解码来说,就十分困难。因为通过一张凌乱的表进行查找只能通过scan。有没有什么好的方法呢?通过哈夫曼编码解码,我们可以想到通过构造一棵二叉树能够轻易的进行解码。比如向左走是短闪,向右走是长闪,即能使树足够紧促,也能易于解码。

虽然莫尔斯编码很有名,但是在这之前,一个更加著名的编码也就是接下来要介绍的编码:布莱叶盲文。他也是一种二进制编码。他的灵感来源于巴比尔文字系统,方法如下:

在一张厚纸上用铁笔在背面刻画,刻画的部分就会在正面凸起,用点和划组合表示文字。

布莱叶在15岁就创建了这个文字系统,他可以表示字母,数字,标点符号,而且可以表示大小写字母,方法如下:

所有的信息都被编码成一个2乘3的点码单元中的一个或多个凸起的点。就是我们人民币上的那个点。通过对于6个点进行凸和平的组合,进行编码。按照常理,能够编码64种情况。后来我们引入了二级布莱叶盲文,在这个系统中,我们其实能表示的信息远远大于64种,因为我们给出了很多的缩写,并且一个点码单元根据上下文能够表示不同的含义,比如第一个为凸点的点码单元在组合单词时表示为a,在单独一个时表示一个词;我们通过单词间进行间隔一个没有凸点的点码单元进行分割。

在二级布莱叶盲文中,还提供了

(1)    数字标识符:在这个点码单元后面的全是数字。

(2)    字母标识符:在这个点码单元后面的全是字母。

(3)    大写标识符:之后的一个点码单元是大写字母。

像第(1)(2)这种从数字回到字母,从字母回到数字的编码称为“优先码”或“换档码”。

像第(3)种只有对紧跟它的字母有效的编码为“逃逸码”。逃逸码的意思是让你逃逸对编码单调一成不变的解析,转向一种新的解析方法。

1.莫尔斯编码和布莱叶盲文相关推荐

  1. 我构想的CW通讯莫尔斯编码

    我构想的CW通讯莫尔斯编码 莫尔斯码已有百年.大家也许听说过泰坦尼克发送sos的故事.也听说过日本人质眨眼说不要救他的故事. 莫尔斯和二进制一样,用最简单的二值组合来表达复杂的意思.和八卦也是一样.都 ...

  2. RLE算法机制、缺点及哈夫曼算法和莫尔斯编码

    CSDN话题挑战赛第2期 参赛话题:学习笔记 目录 一.RLE算法机制 二.RLE算法的缺点 三.哈夫曼算法和莫尔斯编码 一.RLE算法机制 对 AAAAAABBCDDEEEEEF 这17个半角字符的 ...

  3. c语言莫尔斯编码互译,翻译莫尔斯电码

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include "windows.h" #include "stdio.h" char             ...

  4. 编写C语言实现莫尔斯编码,翻译莫尔斯电码

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include "windows.h" #include "stdio.h" char             ...

  5. 用c语言进行莫尔斯编码,翻译莫尔斯电码

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include "windows.h" #include "stdio.h" char             ...

  6. 莫尔斯编码的c语言实现,C程序-蓝桥-摩尔斯电码

    问题描述 摩尔斯电码破译.类似于乔林教材第213页的例6.5,要求输入摩尔斯码,返回英文.请不要使用"zylib.h",只能使用标准库函数.用' * '表示' . ',中间空格用' ...

  7. c语言实现莫尔斯编码,c语言编写莫尔斯码,帮帮忙啊,速回

    /*英文转摩尔斯码*/ #include main() { char a[26][6]={{'.','-'},{'-','.','.','.'},{'-','.','-','.'},{'-','.', ...

  8. 《编码.藏匿在计算机软硬件背后的语言》读书笔记01-10

    1至亲密友 好朋友远距离交流,使用手电筒开和关传递信息,开关的次数太多,想表达的文字太复杂,难度非常大. 引出莫尔斯电码,使用点和划(短闪和长闪两种形式)通信. 结论: ~编码无处不在,手电筒的闪烁, ...

  9. 编码:隐藏在计算机软硬件背后的语言(一)编码

    Code:The Hidden Language of Computer Hardware and Software 一.编码 Morse Code:莫尔斯电码  称为二进制码(Binary Code ...

最新文章

  1. 西班牙放大招,利用区块链技术防腐
  2. 马斯克的90后合伙人离职Neuralink!5岁学编程,曾创立2家公司
  3. 中文输入法切换ubuntu_切换到 Linux 工作,体验暴增 100 倍!
  4. 最小割分治(最小割树):BZOJ2229 BZOJ4519
  5. js 月份加6个月_12月AHA HS大众急救认证培训22个城市报名开启!2021年1~6月份课程预售限时开启!!...
  6. 类Xadmin插件--海豚插件
  7. [Python爬虫] Selenium获取百度百科旅游景点的InfoBox消息盒
  8. Navicat Premium 实用快捷键
  9. 用Python解决百马百瓦
  10. 【英语学习】【English L06】U02 Food L1 Food on the menu
  11. 使用mencoder转换flv为ipad/iphone下能播放的mp4格式
  12. 【软件测试】白盒测试的条件覆盖标准强于判定覆盖(错)
  13. 福大第二学士学位计算机专业就业前景,福州大学省级重点学科介绍:计算机应用技术(081203)...
  14. 【原创】VBA学习笔记(4)VBA函数 和 worksheetfunction工作表函数
  15. c语言编程:有理数比较,有理数类的设计
  16. Mac Mini - 一个深坑
  17. 2019 年第 27 周 DApp 影响力排行榜 | TokenInsight
  18. 即时聊天通讯软件安卓+ios双端原生源码
  19. MVC模式初体验 properties解析工具 与 Dao层的结合 —————— 开开开山怪
  20. 将 5 万行 Java 代码移植到 Go 学到的经验

热门文章

  1. 服务器主板显示e2,大金中央空调有一台机面板显示E2是什么问题如何解决故障...
  2. 淘宝/天猫平台商品详情API接口调用说明
  3. CAN总线之通俗易懂----工业连接器
  4. Docker-----网络模式与资源控制管理
  5. 华为云冰山安全,让用户安心用云
  6. Android Notification详解【郭霖公众号推荐】
  7. SLAM相关学习资料:综述/激光/视觉/数据集/常用库
  8. 无人机无线Mesh自组网,CV5200远距离WiFi模组,实时通信传输技术
  9. 苹果xr黑屏转圈圈解决方法_苹果iPhone XR升级iOS 12.3后黑屏转圈圈怎么办?附解决办法...
  10. OpenPAI1.3.0 部署