而且,兩套系統(tǒng)還可以對(duì)接。
我去,居然還做了向下兼容(Backward Compatibility)。
你可能會(huì)說(shuō),9宮格,那豈不是降低成9bit了?反而性能下降? No No No,它其實(shí)四周還有8片花辮,可以分別收起和放出,這樣就多了8位。
加起來(lái),就有9 + 8 = 17比特了。
哦對(duì)了,畢竟白天和晚上的需求不同,它還分為“日用”和“夜用”兩種模式。 長(zhǎng)安百姓,真是夜里也安心呢~
你可能會(huì)問(wèn),12bit已經(jīng)夠用了,為啥要17bit呢? 除了可以傳遞更多內(nèi)容以外,還有大用:糾錯(cuò)。 你知道,信息傳遞很容易出錯(cuò),如果這12位里,有一個(gè)地方壞了,比如燈不亮了,或者接收方看走眼了,這咋辦。
你看,這12個(gè)格子太難讀了,你得一個(gè)一個(gè)數(shù),眼睛都要瞎了,隨便一抖,就錯(cuò)了。 然而,改成9宮格之后,一眼就能看對(duì)并記住,用戶(hù)體驗(yàn)直線上升,錯(cuò)誤率下降。
當(dāng)然,多出來(lái)的5個(gè)bit,還有更高級(jí)的用法。 這就是:計(jì)算機(jī)通訊里,兩個(gè)經(jīng)典手段:糾錯(cuò)碼,和,冗余。
先來(lái)看糾錯(cuò)碼。
最簡(jiǎn)單的方法,就是“奇偶校驗(yàn)法”,也就是你多傳1位,這位表示前面幾位里面,應(yīng)該有奇數(shù)還是偶數(shù)個(gè)1。 如果接收的時(shí)候,你發(fā)現(xiàn),最后一位告訴你,前面應(yīng)該有偶數(shù)個(gè)1,結(jié)果前面是奇數(shù)個(gè)1,那就說(shuō)明這數(shù)據(jù)有問(wèn)題了,你得讓對(duì)方再傳一遍。
如果,你有很多位可以用來(lái)糾錯(cuò),比如大望樓多出了5位,那就可以用更高級(jí)的方法了,比如循環(huán)冗余校驗(yàn)法。 這里有點(diǎn)復(fù)雜,但說(shuō)白了就是,信息位和糾錯(cuò)位,兩組數(shù),進(jìn)行運(yùn)算,如果得出的值不對(duì),那就驗(yàn)證失敗。
這玩意說(shuō)深了就是研究生課程了,收。
除了糾錯(cuò)碼,還有冗余。 有冗余,這本身就能糾錯(cuò)。 比如,你規(guī)定,傳遞的一個(gè)數(shù),必須所有數(shù)字,都是一樣的才有效。 那么,當(dāng)你收到了比如6668666,那你就知道:哦,那個(gè)8絕對(duì)打錯(cuò)了,本來(lái)想說(shuō)的應(yīng)該是6666666。
你知道,咱們?nèi)说腄NA就有非常大的冗余,很多密碼子貌似沒(méi)啥信息,去掉了也完全沒(méi)影響。 這些“冗余”密碼子的作用,一直有很多猜測(cè),一種解釋就是:這是防止,基因在自我復(fù)制時(shí)失誤,釀成大錯(cuò)。
好了,以上都是我的腦洞。 在看了官方公布的資料以后,證明我完全是想多了~
根據(jù)官微@北斗北工作室,小望樓這12個(gè)框,其實(shí)只能代表3位,十進(jìn)制數(shù)…
每四個(gè)一組,分別代表百位,十位,個(gè)位,0~9分別有不同的圖案。
比如,下面這個(gè)就代表序號(hào)900。
當(dāng)然了,阿拉伯?dāng)?shù)字這種標(biāo)記法要到近代才被中國(guó)人熟練使用,所以當(dāng)年使用的都是算籌表示法:
那么900,其實(shí)就是:
在編碼之后,就可以翻譯了,過(guò)程也很簡(jiǎn)單,就是查表。 靖安司官員們,有這么一個(gè)袋子,作為密碼本。
而上面的900號(hào),代表的就是“狼”,你看就在這里。
按照這個(gè)規(guī)律,其實(shí)能傳遞很多信息了,比如「張小敬」就是這樣的:
怎么樣,學(xué)會(huì)了嗎? 來(lái)來(lái)來(lái),咱們做一下課后小練習(xí)。
練習(xí)題1: 請(qǐng)翻譯下圖。
練習(xí)題2: 請(qǐng)翻譯下圖。
練習(xí)題3: 熟讀靖安司密碼本,并背誦全文。 (參考答案見(jiàn)文末)
以上,都是“靖安司公務(wù)員考試”送分題哦。
對(duì)了,別忘了還有:大望樓。
本質(zhì)上也是編碼成十進(jìn)制的3位數(shù)。 9宮格的空間,用來(lái)表示個(gè)位。
左邊的4個(gè)花瓣位,用來(lái)表示十位。
右邊的4個(gè)花瓣位,用來(lái)表示百位。
當(dāng)然,什么都不出現(xiàn),就表示0。 那么,下面這個(gè),就表示的是701。
不過(guò),我很快發(fā)現(xiàn)了這個(gè)大望樓系統(tǒng)的兩個(gè)Bug。
Bug-1: 四宮格表示0~9我還能記住,可這九宮格,也太隨意了,編碼的人瘋了。
Bug-2: 為什么左邊是高位起,右邊是低位?
反人性嗎?
難道不應(yīng)該:左邊是百位嗎?
大望樓那邊,左邊的花瓣是十位,右邊是百位,這是要弄死我。 你看這個(gè)“狼”,很容易讀成900啊,喂。
反正,這么差的用戶(hù)體驗(yàn),一般人絕對(duì)懵了。 怪不得,只有我賓哥這種人肉計(jì)算機(jī),才可以瞬間看懂。
這么說(shuō)來(lái),望樓可以傳遞0到999,一共1000個(gè)子信息。 可以說(shuō),雖然是12位比特的承載量,而現(xiàn)有的望樓系統(tǒng),只用了四分之一,有75%的冗余量待開(kāi)發(fā),或者就是為了糾錯(cuò)的故意留下的。 妙啊。
經(jīng)過(guò)我再仔細(xì)研究,劇中還有另一種編碼方式:八卦法。
因?yàn)樨韵笫侨械穆?,這么一看,我大概知道為啥劇組想用大望樓了。
傳輸?shù)臅r(shí)候,要傳兩遍,分別組成上下兩組八卦。
整合以后,就是一個(gè),額,現(xiàn)代計(jì)算機(jī)叫:Index(索引)。
譯碼時(shí),用的則是開(kāi)元20年,孫愐所修的音韻書(shū)籍《唐韻》,按照卷、韻、字,三個(gè)等級(jí),依次索引。
可是,這部分似乎沒(méi)有在劇中用上?或者說(shuō)用的不多?我咋沒(méi)發(fā)現(xiàn)呢。 莫非,這只是設(shè)想的一個(gè)方案,因?yàn)樘珡?fù)雜了,后來(lái)就沒(méi)用上,官方放出來(lái)裝x的?
厲害厲害厲害。
對(duì)了,上面這套編碼規(guī)范,可不是鬧著玩的,它被切切實(shí)實(shí),用在了劇中拍出來(lái)的。 根據(jù)官微@北斗北工作室,劇中望樓每一個(gè)鏡頭都是對(duì)的。
比如:
「張都尉為民捉狼。全城武侯、不良人隨時(shí)聽(tīng)張都尉號(hào)令」
這句話,是這么傳遞的。
先是跟電報(bào)一樣,人工對(duì)信息進(jìn)行壓縮,并分割成最小信息元:
張(263)都尉(197)捉(134)狼(121) 全城(20) 武職(217) 聽(tīng)令(152)
于是,信息就從原來(lái)的22個(gè)漢字,縮短為7組信息,只需變換七次。
按照每秒傳兩個(gè),全部傳完只需3.5秒。
不過(guò),如果遇到復(fù)雜信息,就有點(diǎn)蛋疼,比如下面這個(gè)。
一共48個(gè)信息元…
估計(jì)接收方人腦的內(nèi)存,是不夠的吧。 而可憐的美術(shù)老師,也只能小心地寫(xiě)上“內(nèi)容精簡(jiǎn)待商榷”…
我真的要對(duì)這部良心劇豎大拇指,太強(qiáng)了。
好了,以上就是望樓系統(tǒng)的全部了。
最后,給你送上一個(gè)雞湯:
無(wú)論遇到任何困難,都要迎難直上,不退。
快報(bào)
根據(jù)《網(wǎng)絡(luò)安全法》實(shí)名制要求,請(qǐng)綁定手機(jī)號(hào)后發(fā)表評(píng)論
Genius
太復(fù)雜了些!
我去,突然想起上次在有個(gè)公司做過(guò)的面試題了
你真牛
一個(gè)數(shù)據(jù)網(wǎng)關(guān)你有啥好激動(dòng)的…
最右邊是高位的原因恐怕是因?yàn)楣湃耸亲陨隙聫挠业阶髸?shū)寫(xiě)的吧。
真的國(guó)產(chǎn)良心
看暈了