二維碼存在于我們生活中的方方面面,微信和QQ加好友可以掃二維碼,收付款可以用二維碼,取電影票可以用二維碼。但你知道二維碼的原理是什么嗎?為什么二維碼只有3個(gè)角有小方塊呢?
其實(shí)不管是二維碼,還是超市里商品上的條形碼,它們的工作原理都跟你考試填的答題卡是類似的。電腦能夠理解的信號(hào)都是二進(jìn)制信號(hào),也就是電腦只認(rèn)識(shí)0和1兩個(gè)信號(hào)。但是現(xiàn)實(shí)生活中的信息多種多樣,我們要怎樣讓電腦只通過(guò)二進(jìn)制信號(hào),就能處理那么復(fù)雜的信息呢?
首先要理解二進(jìn)制,二進(jìn)制就是“逢2進(jìn)1”。譬如1+1=2,但是在二進(jìn)制的情況下,2是不存在的,碰到2,就要進(jìn)一位,2用二進(jìn)制信號(hào)表示就是“10”。記住,這里的“10”不是“十”,而是“1”和“0”。那么3等于2+1,其實(shí)就是“10”+“1”,等于11,同樣的,這里的“11”不是“十一”,而是“1”和“1”。用這樣一套方法,我們就可以把各種各樣復(fù)雜的信號(hào)轉(zhuǎn)換為二進(jìn)制信號(hào),讓電腦讀懂并進(jìn)行處理。
二維碼其實(shí)就是把0和1的信號(hào)變成了小方格,一個(gè)二維碼當(dāng)中,黑色的小方格代表1,白色的小方格代表0,手機(jī)一掃就知道一個(gè)二維碼里面的0跟1是怎么排列的了。二維碼本質(zhì)上就是給你手機(jī)里的計(jì)算芯片一串0和1的信號(hào),手機(jī)接收到信號(hào)以后就開始運(yùn)算了。
二維碼里有3個(gè)小方塊分布在3個(gè)角上,這是幫助掃描二維碼時(shí)進(jìn)行定位,不管你的手機(jī)是橫著掃、豎著掃,還是斜著掃,它都知道二維碼應(yīng)該從哪個(gè)方向開始讀。
其實(shí)在二維碼出現(xiàn)之前,我們常用的是條形碼,條形碼傳遞信息的原理跟二維碼是一樣的。條形碼的信息量有限,它只有一行,但是二維碼有很多行,所以二維碼傳遞的信息量更大。手機(jī)普及以后,網(wǎng)絡(luò)世界的信息越來(lái)越豐富,我們的手機(jī)要處理的網(wǎng)絡(luò)信息也越來(lái)越復(fù)雜,能夠傳遞更大信息量的二維碼,會(huì)更加貼合我們的數(shù)據(jù)需求,于是二維碼就變得越來(lái)越主流了。
(摘自北京聯(lián)合出版公司《了不起的物理》)