屏幕上出现了一些乱七八糟的字符,根本就不是我的名字。以我这点微末道行,自然只能向老爹发出求助的眼神。
「再试试呢?」
老爹扫了小黑屏一眼后,快速按下了Ctrl+Shift+C,然后让我重新编译执行,小黑屏上果然出现了我的名字。
「老爹,这是怎么回事儿啊,怎么你就按了Ctrl+Shift+C问题就解决了?」
我好奇地问道。
「玥玥啊,为了让你更容易理解,老爹就用故事的形式为你解释这个问题吧。」
「好啊好啊,我最喜欢听故事了。」
我拍手叫好道。
「嗯嗯,话说在第二次世界大战时期,很多国家都是使用的无线电报来传输情报。这个无线电报呢,使用的是摩斯码来传输26个字母10个数字。
但是呢,由于大家都使用摩斯码,所以发送报文的方式都相同,这样就很容易被破译了。而在传输情报时一旦被敌人截取、破译,将会造成难以预计的可怕后果。所以在军事上使用无线电报,不会直接传输字母。
当然,对于我们国家来说,根本就没有办法直接用摩斯码传输情报,因为摩斯码里面没有汉字。像日本、韩国这些国家的文字有很大一部分都是汉字,所以他们同样不能直接使用无线电报传输情报。
那怎么办呢?
于是当时有聪明的人就给每一个汉字编号,在传输情报的时候只传输汉字编号,收报的人在接收到了汉字的编号后再在根据编号还原成文字,就知道报文内容了。
因为常用的汉字有6700多个,而给汉字编码又没有什么规律可言,所以常人几乎不可能凭借记忆记住这么多汉字的编号,只能以书面形式记录下来。而记录汉字和编号对应关系的书册,就被称之为密码本。
也就是说,只要获取了密码本,就能够破译电报传输的内容了。
为了安全考虑,情报组织会不定时的更换密码本。」
「嗯嗯,这个我知道。在和爷爷奶奶看抗日题材电视剧的时候,经常看到日本的间谍和特务总是想方设法获取八路军的密码本,而八路军则是要想尽一切办法保护密码本的安全。」
「是这样的,所以当有己方的情报人员被敌方抓获后,情报组织就会马上更换密码本。假设在没有更换密码本时汉字和编号的关系如下:放-47045,假-48345,一-53947,周-55004,这个时候收报方能够正确的解析出发报方要表达的意思。
现在因为密码本有泄露的危险,于是更换了密码本。新的密码本中汉字和编号的对应关系发生了变化:马-47045,上-48345,进-53947,攻-55004,但是敌人拿到了更换前的密码本,所以他们接收到的消息就还是放假一周,却不知道真正的意思是马上进攻。
昨天我和你说过字符显示的原理,每个字符都有自己的编号,就像是密码本一样,不过计算机上不叫密码本,而叫编码格式。但是计算机是美国人发明的,所以他们制定的密码本只有字母、数字和一些符号,总共128个字符,用一个字节就可以表示了。而这就是赫赫有名的ASCII码表。
随着计算机的普及,越来越多的国家对ASCII码表进行扩展,制定了用于表示自己语言的编码表。
而我们国家因为汉字太多,单是常用的汉字就有6700多个,所以至少要用两个字节才能给这些常用字编上号。为了兼容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多种不在场证明。上一个这么对姐的人坟草都一丈高了,凶手到现在都没有找到。
咦,老爹,你怎么流了这么多汗啊,是不是身体不舒服……」