长安十二时辰到底怎么更新(长安12时辰播完了)

长安十二时辰到底怎么更新(长安12时辰播完了)(1)

来源: 涵的硅谷成长笔记(ID:HanGrowth)

作者:Han涵

豆瓣8.6分的《长安12时辰》,害人不浅啊!

空闲时间都没了,真的。

长安十二时辰到底怎么更新(长安12时辰播完了)(2)

终于,这剧完结了!作为剧粉 科技宅,我也终于破解了《长安十二时辰》里面最大的科技硬核—— 望楼。

长安十二时辰到底怎么更新(长安12时辰播完了)(3)

它在第一集里就出现了。

「这是望楼,今日于你有大用」

这是檀棋交代张小敬的第一件事。

长安十二时辰到底怎么更新(长安12时辰播完了)(4)

其实就是通讯系统,在长安城里传递消息。

城内每300步就有一个望楼,消息转瞬,即可传遍整个长安城。

长安十二时辰到底怎么更新(长安12时辰播完了)(5)

我一看到这儿,就兴奋了!

诶?

这不就是一个,12位比特的通讯系统么!

你看,他有上下两排,一共12格,每个格子可以点亮或熄灭。

如果点亮是1,熄灭是0,那下面这个图,12位就可以表示成:

101011 101100

长安十二时辰到底怎么更新(长安12时辰播完了)(6)

有了二进制码之后,我们就可以编码译码了,也就是把「码」和「字」对应起来。

现代计算机里,最基本的,就是用ASCII码了,下面是一个对照表:可以表示字母,数字和符号。

长安十二时辰到底怎么更新(长安12时辰播完了)(7)

比如O就是0100 1111,M就是01001101, G就是0100 0111。

那么,李佳琦的口头禅,用二进制表示就是:0100 1111~ 01001101~ 0100 0111~

长安十二时辰到底怎么更新(长安12时辰播完了)(8)

其实有12位bit已经很多了,上面的ASCII码,其实只要7位。(看上去是8位,但第一位都是0)

那么12位,其实可以表示2的12次方,也就是4096个汉字了。

按照咱中国1988年出版的《现代汉语常用字表》,常用汉字一共也就3500个,可以涵盖99.48%的日常所需,所以12位完全足够了。

长安十二时辰到底怎么更新(长安12时辰播完了)(9)

当今计算机的汉字编码,比较常用的,比如有Unicode,下面是一个对照表。

长安十二时辰到底怎么更新(长安12时辰播完了)(10)

在我仔细研究《十二时辰》之后,我发现,剧中其实有大小两种望楼!

一种是上面的小望楼,两排12格那种,还有一种是3*3的9宫格大望楼。

长安十二时辰到底怎么更新(长安12时辰播完了)(11)

诶?为什么有两套系统?

我个人猜测:

这是通讯系统Infra 2.0版,工程师正在逐步迁移(Migration),还没有完全结束,小的还没有完全弃用(Deprecated),所以得两套共存。

长安十二时辰到底怎么更新(长安12时辰播完了)(12)

而且,两套系统还可以对接。

我去,居然还做了向下兼容(Backward Compatibility)。

你可能会说,9宫格,那岂不是降低成9bit了?反而性能下降?

No No No,它其实四周还有8片花辫,可以分别收起和放出,这样就多了8位。

长安十二时辰到底怎么更新(长安12时辰播完了)(13)

加起来,就有9 8 = 17比特了

哦对了,毕竟白天和晚上的需求不同,它还分为“日用”和“夜用”两种模式。

长安百姓,真是夜里也安心呢~

长安十二时辰到底怎么更新(长安12时辰播完了)(14)

你可能会问,12bit已经够用了,为啥要17bit呢?

除了可以传递更多内容以外,还有大用:纠错

你知道,信息传递很容易出错,如果这12位里,有一个地方坏了,比如灯不亮了,或者接收方看走眼了,这咋办。

长安十二时辰到底怎么更新(长安12时辰播完了)(15)

你看,这12个格子太难读了,你得一个一个数,眼睛都要瞎了,随便一抖,就错了。

然而,改成9宫格之后,一眼就能看对并记住,用户体验直线上升,错误率下降。

长安十二时辰到底怎么更新(长安12时辰播完了)(16)

当然,多出来的5个bit,还有更高级的用法。

这就是:计算机通讯里,两个经典手段:纠错码,和,冗余。

先来看纠错码

长安十二时辰到底怎么更新(长安12时辰播完了)(17)

最简单的方法,就是“奇偶校验法”,也就是你多传1位,这位表示前面几位里面,应该有奇数还是偶数个1。

如果接收的时候,你发现,最后一位告诉你,前面应该有偶数个1,结果前面是奇数个1,那就说明这数据有问题了,你得让对方再传一遍。

长安十二时辰到底怎么更新(长安12时辰播完了)(18)

如果,你有很多位可以用来纠错,比如大望楼多出了5位,那就可以用更高级的方法了,比如循环冗余校验法

这里有点复杂,但说白了就是,信息位和纠错位,两组数,进行运算,如果得出的值不对,那就验证失败。

长安十二时辰到底怎么更新(长安12时辰播完了)(19)

这玩意说深了就是研究生课程了,收。

除了纠错码,还有冗余

有冗余,这本身就能纠错。

比如,你规定,传递的一个数,必须所有数字,都是一样的才有效。

那么,当你收到了比如6668666,那你就知道:哦,那个8绝对打错了,本来想说的应该是6666666。

长安十二时辰到底怎么更新(长安12时辰播完了)(20)

你知道,咱们人的DNA就有非常大的冗余,很多密码子貌似没啥信息,去掉了也完全没影响。

这些“冗余”密码子的作用,一直有很多猜测,一种解释就是:这是防止,基因在自我复制时失误,酿成大错。

长安十二时辰到底怎么更新(长安12时辰播完了)(21)

好了,以上都是我的脑洞。在看了官方公布的资料以后,证明我完全是想多了

长安十二时辰到底怎么更新(长安12时辰播完了)(22)

长安十二时辰到底怎么更新(长安12时辰播完了)(23)

根据官微@北斗北工作室,小望楼这12个框,其实只能代表3位,十进制数…

长安十二时辰到底怎么更新(长安12时辰播完了)(24)

每四个一组,分别代表百位,十位,个位,0~9分别有不同的图案。

长安十二时辰到底怎么更新(长安12时辰播完了)(25)

比如,下面这个就代表序号900。

长安十二时辰到底怎么更新(长安12时辰播完了)(26)

当然了,阿拉伯数字这种标记法要到近代才被中国人熟练使用,所以当年使用的都是算筹表示法:

长安十二时辰到底怎么更新(长安12时辰播完了)(27)

那么900,其实就是:

长安十二时辰到底怎么更新(长安12时辰播完了)(28)

在编码之后,就可以翻译了,过程也很简单,就是查表。

靖安司官员们,有这么一个袋子,作为密码本。

长安十二时辰到底怎么更新(长安12时辰播完了)(29)

长安十二时辰到底怎么更新(长安12时辰播完了)(30)

长安十二时辰到底怎么更新(长安12时辰播完了)(31)

而上面的900号,代表的就是“狼”,你看就在这里。

长安十二时辰到底怎么更新(长安12时辰播完了)(32)

按照这个规律,其实能传递很多信息了,比如「张小敬」就是这样的:

长安十二时辰到底怎么更新(长安12时辰播完了)(33)

怎么样,学会了吗?

来来来,咱们做一下课后小练习

练习题1: 请翻译下图。

长安十二时辰到底怎么更新(长安12时辰播完了)(34)

练习题2: 请翻译下图。

长安十二时辰到底怎么更新(长安12时辰播完了)(35)

练习题3: 熟读靖安司密码本,并背诵全文

(参考答案见文末)

以上,都是“靖安司公务员考试”送分题哦。

对了,别忘了还有:大望楼。

长安十二时辰到底怎么更新(长安12时辰播完了)(36)

本质上也是编码成十进制的3位数。

9宫格的空间,用来表示个位。

长安十二时辰到底怎么更新(长安12时辰播完了)(37)

左边的4个花瓣位,用来表示十位。

长安十二时辰到底怎么更新(长安12时辰播完了)(38)

右边的4个花瓣位,用来表示百位。

长安十二时辰到底怎么更新(长安12时辰播完了)(39)

当然,什么都不出现,就表示0。

那么,下面这个,就表示的是701。

长安十二时辰到底怎么更新(长安12时辰播完了)(40)

不过,我很快发现了这个大望楼系统的两个Bug。

Bug-1: 四宫格表示0~9我还能记住,可这九宫格,也太随意了,编码的人疯了。

Bug-2: 为什么左边是高位起,右边是低位?

长安十二时辰到底怎么更新(长安12时辰播完了)(41)

反人性吗?

难道不应该:左边是百位吗?

大望楼那边,左边的花瓣是十位,右边是百位,这是要弄死我。

你看这个“狼”,很容易读成900啊,喂。

长安十二时辰到底怎么更新(长安12时辰播完了)(42)

反正,这么差的用户体验,一般人绝对懵了。

怪不得,只有我宾哥这种人肉计算机,才可以瞬间看懂。

长安十二时辰到底怎么更新(长安12时辰播完了)(43)

这么说来,望楼可以传递0到999,一共1000个子信息。

可以说,虽然是12位比特的承载量,而现有的望楼系统,只用了四分之一,有75%的冗余量待开发,或者就是为了纠错的故意留下的。

妙啊。

长安十二时辰到底怎么更新(长安12时辰播完了)(44)

经过我再仔细研究,剧中还有另一种编码方式:八卦法。

因为卦象是三行的嘛,这么一看,我大概知道为啥剧组想用大望楼了。

传输的时候,要传两遍,分别组成上下两组八卦。

长安十二时辰到底怎么更新(长安12时辰播完了)(45)

整合以后,就是一个,额,现代计算机叫:Index(索引)。

长安十二时辰到底怎么更新(长安12时辰播完了)(46)

译码时,用的则是开元20年,孙愐所修的音韵书籍《唐韵》,按照卷、韵、字,三个等级,依次索引。

长安十二时辰到底怎么更新(长安12时辰播完了)(47)

可是,这部分似乎没有在剧中用上?或者说用的不多?我咋没发现呢。

莫非,这只是设想的一个方案,因为太复杂了,后来就没用上,官方放出来装x的?

长安十二时辰到底怎么更新(长安12时辰播完了)(48)

厉害厉害厉害。

长安十二时辰到底怎么更新(长安12时辰播完了)(49)

对了,上面这套编码规范,可不是闹着玩的,它被切切实实,用在了剧中拍出来的。

根据官微@北斗北工作室,剧中望楼每一个镜头都是对的。

长安十二时辰到底怎么更新(长安12时辰播完了)(50)

比如:

「张都尉为民捉狼。全城武侯、不良人随时听张都尉号令」

这句话,是这么传递的。

先是跟电报一样,人工对信息进行压缩,并分割成最小信息元:

张(263)都尉(197)捉(134)狼(121) 全城(20) 武职(217) 听令(152)

长安十二时辰到底怎么更新(长安12时辰播完了)(51)

于是,信息就从原来的22个汉字,缩短为7组信息,只需变换七次。

按照每秒传两个,全部传完只需3.5秒。

不过,如果遇到复杂信息,就有点蛋疼,比如下面这个。

长安十二时辰到底怎么更新(长安12时辰播完了)(52)

一共48个信息元…

估计接收方人脑的内存,是不够的吧。

而可怜的美术老师,也只能小心地写上“内容精简待商榷”…

我真的要对这部良心剧竖大拇指,太强了。

长安十二时辰到底怎么更新(长安12时辰播完了)(53)

好了,以上就是望楼系统的全部了。

最后,给你送上一个鸡汤:

无论遇到任何困难,都要迎难直上,不退。

长安十二时辰到底怎么更新(长安12时辰播完了)(54)

长安十二时辰到底怎么更新(长安12时辰播完了)(55)

「彩蛋」

其实,我还有一个脑洞(已经魔怔)。

这套系统的安全性其实不行,毕竟密码本这种办法,还是最简单的加密手段。

一旦密码本被贼人所用,安全性尽失,周全无望。(额,我怎么开始了文言文)。

反正是传数字嘛,那当年完全可以用现在流行的RSA加密了,也就是:

设定一个很大的素数p和q,然后传递这个乘积,解密的时候,再做mod运算by (p-1)(q-1)…

< END>

当然,讨论更多的“创意脑洞”,还可以在优质的市场公关总监社群——

已经有7W 市场公关总监加入“【PR人】市场公关总监社群”,我们只邀请市场公关领域部门负责人及以上人士,符合条件者,加群请扫码——

长安十二时辰到底怎么更新(长安12时辰播完了)(56)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页