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