研究完《长安12时辰》的望楼系统,我魔怔了
本文来源于微信公众号涵的硅谷成长笔记(ID:HanGrowth),作者: Han涵,钛媒体经授权发布。
豆瓣8.6分的《长安12时辰》,害人不浅啊!
是的,我已经消失一个月了,就因为我去追剧了… 空闲时间都没了,真的。(才不是因为我懒)
终于,这剧今天完结,我也可以恢复更新了! 作为剧粉 + 科技宅,我今天,就给你深挖一下,这个剧里的通讯设定—— 望楼。
它在第一集里就出现了。「这是望楼,今日于你有大用」
这是檀棋交代张小敬的第一件事。
其实就是通讯系统,在长安城里传递消息。 城内每300步就有一个望楼,消息转瞬,即可传遍整个长安城。
我一看到这儿,就兴奋了! 诶?
这不就是一个,12位比特的通讯系统么! 你看,他有上下两排,一共12格,每个格子可以点亮或熄灭。 如果点亮是1,熄灭是0,那下面这个图,12位就可以表示成:
101011 101100。
有了二进制码之后,我们就可以编码译码了,也就是把「码」和「字」对应起来。 现代计算机里,最基本的,就是用ASCII码了,下面是一个对照表:可以表示字母,数字和符号。
比如O就是0100 1111,M就是01001101, G就是0100 0111。 那么,李佳琦的口头禅,用二进制表示就是:0100 1111~ 01001101~ 0100 0111~
其实有12位bit已经很多了,上面的ASCII码,其实只要7位。(看上去是8位,但第一位都是0) 那么12位,其实可以表示2的12次方,也就是4096个汉字了。 按照咱中国1988年出版的《现代汉语常用字表》,常用汉字一共也就3500个,可以涵盖99.48%的日常所需,所以12位完全足够了。
当今计算机的汉字编码,比较常用的,比如有Unicode,下面是一个对照表。
在我仔细研究《十二时辰》之后,我发现,剧中其实有大小两种望楼! 一种是上面的小望楼,两排12格那种,还有一种是3*3的9宫格大望楼。
诶?为什么有两套系统? 我个人猜测: 这是通讯系统Infra 2.0版,工程师正在逐步迁移(Migration),还没有完全结束,小的还没有完全弃用(Deprecated),所以得两套共存。
而且,两套系统还可以对接。
我去,居然还做了向下兼容(Backward Compatibility)。
你可能会说,9宫格,那岂不是降低成9bit了?反而性能下降? No No No,它其实四周还有8片花辫,可以分别收起和放出,这样就多了8位。
加起来,就有9 + 8 = 17比特了。
哦对了,毕竟白天和晚上的需求不同,它还分为“日用”和“夜用”两种模式。 长安百姓,真是夜里也安心呢~
你可能会问,12bit已经够用了,为啥要17bit呢? 除了可以传递更多内容以外,还有大用:纠错。 你知道,信息传递很容易出错,如果这12位里,有一个地方坏了,比如灯不亮了,或者接收方看走眼了,这咋办。
你看,这12个格子太难读了,你得一个一个数,眼睛都要瞎了,随便一抖,就错了。 然而,改成9宫格之后,一眼就能看对并记住,用户体验直线上升,错误率下降。
当然,多出来的5个bit,还有更高级的用法。 这就是:计算机通讯里,两个经典手段:纠错码,和,冗余。
先来看
纠错码
。
版权保护: 本文由 沃派博客-沃派网 编辑,转载请保留链接: http://www.bdice.cn/html/75479.html