645 三段式編碼

  電報編碼貌似是很神秘個東西,很多戰鬥中好像都是電報編碼被人破譯,然後,便輸了。Google搜索

  其實,那些都是無線電報被人破譯後暴露了作戰計劃,導致戰敗。

  因為無線電波在一定範圍內誰都能收到。

  有線電報其實不存在這個問題,人家只要找不到你的通訊線, 並且對接上去,就接收不到信號。

  當然,這會兒這個問題都不用考慮。

  因為這會兒還沒有哪個國家知道電是什麼東西,更沒人知道電報是什麼玩意。

  所以,這會兒編碼可以用最簡單明了的方式來,只要自己人能弄明白就行了,其他人根本不用管。

  那麼,最簡單的編碼方式是怎麼樣的呢?

  最簡單的編碼自然就是二進位編碼, 0代表十進位的零,1代表十進位的一,10代表十進位的二,11代表十進位的三,以此類推。

  那麼這個編碼在電報中又有什麼用呢?

  如果光有編碼,自然是沒有用的,編碼還得有相對應的字才行。

  比如,編碼1對應你字,編碼10對應我字,編碼11對應他字。

  這麼簡單的編碼,泰昌細細解釋了一遍,方以智還是有點不明白。

  沒辦法,他這是第一次接觸這什麼進位什麼編碼什麼的,以前他甚至連十進位是什麼意思都不知道呢,怎麼可能一下就明白二進位編碼。

  這個怎麼跟人家解釋呢?

  泰昌仔細想了想,乾脆命人取來紙筆,給方以智列了個編碼表。

  這個編碼表很簡單, 總共就十六個數字,相對應的也就十六個字。

  0000, 代表十進位的零,對應人字。

  0001,代表十進位的一,對應你字。

  0010,代表十進位的二,對應我字。

  0011,代表十進位的三,對應他字。

  0100,代表十進位的四,對應來字。

  0101,代表十進位的五,對應去字。

  0110,代表十進位的六,對應進字。

  0111,代表十進位的七,對應退字。

  1000,代表十進位的八, 對應上字。

  1001, 代表十進位的九, 對應下字。

  1010,代表十進位的十,對應敵字。

  1011,代表十進位的十一,對應馬字。

  1100,代表十進位的十二,對應打字。

  1101,代表十進位的十三,對應圍字。

  1110,代表十進位的十四,對應追字。

  1111,代表十進位的十五,對應了字。

  其實,如果光是編碼,他根本不用寫中間這些,二進位編碼代表十進位多少,跟電報的編碼並沒有多大關係,他只需直接寫出編碼對應的字就行了。

  不過,為了讓方以智明白二進位編碼的含義,他還是把中間這段加上去了。

  方以智結果泰昌寫好的編碼表細細一看,果然露出一絲恍然之色。

  他大致明白這二進位編碼與十進位數字的關係了,但後面這些對應的字他卻不是很明白。

  這後面對應這些字是什麼意思呢?

  他細細看了好一陣,這才小心的問道:「皇上,後面對應的這些字有什麼用?」

  泰昌無奈的解釋道:「這就是電報發送的內容啊,你把字翻譯成編碼,通過電報機發給對方,對方接收了電報編碼再反過來來翻譯成字,就知道電報是什麼意思了。」

  呃,這個。

  方以智聞言,又沉思起來。

  看樣子,他還是不懂。

  泰昌想了想,乾脆提筆寫下一段編碼。

  1010,0000,0100,1111,1011,1000,1101,1000,0101,1100。

  他寫完便把手中的筆遞給方以智,隨即指著上面的編碼表道:「這是朕根據想要發送的字翻譯成的編碼,你對著上面的編碼表,查查,這些編碼對應的字,寫下來。」

  好吧,這個還是很簡單的。

  方以智立馬接過毛筆,一個一個把對應的字寫到了編碼下面。

  1010敵,0000人,0100來,1111了,1011馬,1000上,1101圍,1000上,0101去,1100打。

  敵人來了,馬上圍上去,打!

  他寫完之後立馬就明白了。

  原來,這編碼表是這麼個意思。

  原來,這電報機就是這麼發送訊息的!

  泰昌見他一副恍然大悟的樣子,不由略帶得意道:「怎麼樣,現在明白了吧?」

  明白了,明白了。

  方以智連連點了點頭,突然間又愣住了。

  緊接著,他又陷入沉思中。

  泰昌見狀,不由好奇道:「怎麼了?」

  方以智指著編碼表琢磨道:「皇上,這才十六個字啊,我們要準確無誤的傳送訊息,少說也要上千字的編碼吧?

  後面的字怎麼編碼呢,一千個字的編碼恐怕得十位以上吧?

  我們連續發這麼十餘個零和一,中間很有可能會出問題啊!」

  這的確是個大問題。

  一次發送一段四位二進位碼,可能還不會出什麼問題。

  如果一次發送一段十多位的二進位碼,那很有可能會出問題,因為沒有就代表零啊,如果中間稍微停頓一下,別人就會誤會,多加進去一個零!

  這個怎麼辦呢?

  泰昌想了想,隨即提筆在紙上寫了八個1,然後細細算了算。

  這一算,他眉頭不由皺了起來,11111111才二百五十五啊!

  也就是說,方以智估摸的一點都沒錯,要給上千個字編碼,最少得十位以上。

  看樣子用通和不通來代表1和0不保險,那麼,到底怎麼辦呢?

  他看了看發送信號的開關,又看了看接收信號的鈴鐺,突然間靈機一動。

  對了,還有一種方式,點一下和按著不鬆手!

  點一下就代表0,長按一秒或者三秒就代表1,這樣就不容易出錯了。

  而且,為了保險起見,還可以將長編碼分成幾段發送。

  想到這裡,他果斷道:「要不這樣,我們改一下,把點一下開關當做0,把摁著開關一個或者三個眨眼時間不鬆手當做是1。

  然後,我們再把一個編碼分成三段發送,每一段都是四位,這樣,三段加起來就是十二位了,足以編碼數千個字了。」

  呃,這樣改一下代碼方式再分三段傳送好像是不會出問題了。

  問題就是,這一段一段的怎麼分呢?

  方以智想了想,又問道:「皇上,我們這三段怎麼分,中間停多久呢,畢竟兩邊沒法說話,對面也不知道你這到底是一個編碼的分段還是下一個編碼的開始。」

  這個,看樣子還得有個輔助的東西才行。

  泰昌掃視了一圈,不由靈機一動。

  他指著一旁桌上的沙漏道:「我們做一批一彈指的沙漏,事先約定好,每一段編碼中間間隔的時間就是一彈指,發完一短編碼就把沙漏翻過來,等沙漏計時結束了再繼續下一段。如果中間間隔超過一彈指時間,那就是下一個編碼了。」

  一彈指大約是五秒鐘時間,發送電報的時候,停五秒鐘已經算是不短的時間了,這樣應該就不會出現誤判了。

  這辦法的確不錯。

  方以智想了想,又建議道:「皇上,不若這樣,我們約定好,雙方在發送或者接收完一段四個編碼之後同時把沙漏翻轉過來,沙漏計時結束之前發送的就算是下一段編碼,沙漏計時結束之後發送的就算是下一個編碼。」

  聰明!

  這樣應該就不會有任何錯誤了。

  只需把編碼表列出來,然後好好操練一番,就可以嘗試遠距離通訊了。

  想到這裡,泰昌不由點頭讚賞道:「很好,就這麼辦,你趕緊把所有字的編碼表編出來,同時讓工部做一批一彈指的沙漏,我們就可以試試京城到通州之間的遠距離通訊了。」

  這就是後世有名的三段式編碼雛形。

  當然,這個後世已經不是泰昌腦海里的後世了,而是大明一統的後世。

  【請記住我們的域名 ,如果喜歡本站請分享到Facebook臉書】