第7章 諜戰風云
- 程序媛養成計劃
- 任煦之秋
- 2034字
- 2020-04-10 15:30:00
屏幕上出現了一些亂七八糟的字符,根本就不是我的名字。以我這點微末道行,自然只能向老爹發出求助的眼神。
「再試試呢?」
老爹掃了小黑屏一眼后,快速按下了Ctrl+Shift+C,然后讓我重新編譯執行,小黑屏上果然出現了我的名字。
「老爹,這是怎么回事兒啊,怎么你就按了Ctrl+Shift+C問題就解決了?」
我好奇地問道。
「玥玥啊,為了讓你更容易理解,老爹就用故事的形式為你解釋這個問題吧。」
「好啊好啊,我最喜歡聽故事了。」
我拍手叫好道。
「嗯嗯,話說在第二次世界大戰時期,很多國家都是使用的無線電報來傳輸情報。這個無線電報呢,使用的是摩斯碼來傳輸26個字母10個數字。
但是呢,由于大家都使用摩斯碼,所以發送報文的方式都相同,這樣就很容易被破譯了。而在傳輸情報時一旦被敵人截取、破譯,將會造成難以預計的可怕后果。所以在軍事上使用無線電報,不會直接傳輸字母。
當然,對于我們國家來說,根本就沒有辦法直接用摩斯碼傳輸情報,因為摩斯碼里面沒有漢字。像日本、韓國這些國家的文字有很大一部分都是漢字,所以他們同樣不能直接使用無線電報傳輸情報。
那怎么辦呢?
于是當時有聰明的人就給每一個漢字編號,在傳輸情報的時候只傳輸漢字編號,收報的人在接收到了漢字的編號后再在根據編號還原成文字,就知道報文內容了。
因為常用的漢字有6700多個,而給漢字編碼又沒有什么規律可言,所以常人幾乎不可能憑借記憶記住這么多漢字的編號,只能以書面形式記錄下來。而記錄漢字和編號對應關系的書冊,就被稱之為密碼本。
也就是說,只要獲取了密碼本,就能夠破譯電報傳輸的內容了。
為了安全考慮,情報組織會不定時的更換密碼本。」
「嗯嗯,這個我知道。在和爺爺奶奶看抗日題材電視劇的時候,經常看到日本的間諜和特務總是想方設法獲取八路軍的密碼本,而八路軍則是要想盡一切辦法保護密碼本的安全。」
「是這樣的,所以當有己方的情報人員被敵方抓獲后,情報組織就會馬上更換密碼本。假設在沒有更換密碼本時漢字和編號的關系如下:放-47045,假-48345,一-53947,周-55004,這個時候收報方能夠正確的解析出發報方要表達的意思。
現在因為密碼本有泄露的危險,于是更換了密碼本。新的密碼本中漢字和編號的對應關系發生了變化:馬-47045,上-48345,進-53947,攻-55004,但是敵人拿到了更換前的密碼本,所以他們接收到的消息就還是放假一周,卻不知道真正的意思是馬上進攻。
昨天我和你說過字符顯示的原理,每個字符都有自己的編號,就像是密碼本一樣,不過計算機上不叫密碼本,而叫編碼格式。但是計算機是美國人發明的,所以他們制定的密碼本只有字母、數字和一些符號,總共128個字符,用一個字節就可以表示了。而這就是赫赫有名的ASCII碼表。
隨著計算機的普及,越來越多的國家對ASCII碼表進行擴展,制定了用于表示自己語言的編碼表。
而我們國家因為漢字太多,單是常用的漢字就有6700多個,而一個字節只能表示256個字符,遠遠不夠。而兩個字節能表示256x256=65536個字符,所以至少要用兩個字節才能給這些常用字編上號。為了兼容ASCII碼,所以漢字干脆直接使用兩個字節表示,后來就演變成了GBK編碼表。電腦只需要判斷第一個字節是否大于127就知道是ASCII碼還是漢字了。
其他國家差不多也是這么干的,但因為沒有統一的標準,這就導致同一個編號可能在不同的密碼本中表示不同的含義。
這個時候有個組織就跳出來了,它制定了一種新的編碼,幾乎包括了全世界所有國家的語言,也就是萬國碼。
只是一開始不是所有人都愿意使用萬國碼,因為對于西方的國家來說,明明只需要一個字節來表示一個字母,用萬國碼就需要兩個字節,太浪費內存了。直到萬國碼發展到第8個版本時才流行了起來,也就是utf-8編碼。」
「哇哦,原來是這樣。那剛剛在小黑屏里面顯示我名字亂碼,是不是就是密碼本對不上啊?」
我摸著自己的下巴下意識說道。
「聰明!我們在保存文本之前,需要設定其保存編碼格式。同樣,在打開文本之前也要設置讀取文本編碼格式。只有保存和讀取的編碼一致時,電腦才能顯示出來正確的內容。
sublime默認使用的是utf-8編碼來打開和保存文本,而小黑屛則是GBK。
假設在utf-8中任字的編碼是1314,靈是0520,玥是1413。小黑屏在顯示這三個字符時,它將1314、0520、1413這三個編號拿到GBK編碼表里比對,結果就是你剛剛看到的那三個亂七八糟的字了。」
「那要解決這個問題的關鍵就是要統一密碼本咯?」
「對頭。」
老爹滿意的笑了笑。
「如此說來,有兩種方案可以解決這個問題,一是修改sublime保存時的密碼本,二是修改小黑屏讀取時的密碼本。
老爹你既然是在sublime中進行的操作,想必是采用的方案一了。如果我的推理沒有錯的話,Ctrl+Alt+C就是sublime修改保存密碼本為GBK的快捷鍵!」
「厲害,厲害,不過這畫風有點似曾相識啊!」
老爹拍手叫好,贊揚之情溢于言表。
「哼哼,你以為我幾百集柯南白看了?我還做了筆記的。」
得到老爹的表揚,我有些得意地說道。
「納尼?你……做筆記是幾個意思?」
「這都不知道啊,以后哪個敢欺負我,我就一筆記拍ta臉上,然后跟ta說,姐可是看過1000多集柯南的人,精通800多種殺人手法,700多種不在場證明。上一個這么對姐的人墳草都一丈高了,兇手到現在都沒有找到。
咦,老爹,你怎么流了這么多汗啊,是不是身體不舒服……」