□ 嚴伯鈞
二維碼現(xiàn)在存在于我們生活中的方方面面,微信和QQ 加好友可以掃二維碼,收付款可以用二維碼,取電影票可以用二維碼。但你知道二維碼的原理是什么嗎?為什么二維碼只有三個角有小方塊,而不是四個角都有小方塊呢?當(dāng)然,現(xiàn)在的二維碼形態(tài)多種多樣,未必都是方形,也有圓形的二維碼,但它只要是二維的,其工作原理都是類似的。
其實不管是二維碼,還是超市里商品上的條形碼,它們的工作原理都跟你考試填的答題卡是類似的。電腦能夠理解的信號都是二進制信號,也就是電腦只認識0 和1 兩個信號。但是現(xiàn)實生活中的信息多種多樣,我們要怎樣讓電腦只通過二進制信號,就能處理那么復(fù)雜的信息呢?這里就涉及二進制信號和其他信號的轉(zhuǎn)換問題。首先要理解二進制,二進制就是“逢2 進1”。譬如1+1=2,但是在二進制的情況下,2 是不存在的,碰到2,就要進一位,這就好像我們平時用的數(shù)學(xué)是十進制,9 加1 就要進一位變成10,而二進制中,滿2 就要進一位,2 用二進制信號表示就是“10”。記住,這里的“10”不是“十”,而是“1”和“0”,那么3 等于2+1,其實就是“10”+“1”就等于1 1。同樣地,這里的“1 1”不是“十一”,而是“1”和“1”。再進一步,4 要怎么用二進制表示呢?4=3+1,那就是“1 1”+1 等于“1”和“2”,對吧?但是2 在二進制的情況下又是“10”,所以4 就是“20”,但是2 用二進制表示又是“10”,所以4 用二進制表示就是“100”,它不是“一百”,而是“1”和“0”和“0”。用這樣一套方法,我們就可以把各種各樣復(fù)雜的信號轉(zhuǎn)換為二進制信號,讓電腦讀懂,并進行處理。
二維碼其實就是把0 和1 的信號變成了小方格。在一個二維碼當(dāng)中,黑色的小方格代表1,白色的小方格代表0,手機一掃就知道一個二維碼里面的0 跟1 是怎么排列的了,二維碼本質(zhì)上就是給你手機里的計算芯片一串0 和1 的信號,手機接收到信號以后就開始運算了。
二維碼里有三個小方塊是分布在三個角上的,這是幫助二維碼進行定位的,不管你的手機是橫著掃、豎著掃,還是斜著掃,它都知道二維碼應(yīng)該從哪個方向開始讀。四個方塊反而不行,因為這樣的話,手機無法辨認出這個二維碼從什么位置開始才是第一行。
其實在二維碼出現(xiàn)之前,我們常用的是條形碼,條形碼傳遞信息的原理跟二維碼是一樣的,那為什么不直接用條形碼而要更多地使用二維碼呢?因為條形碼的信息量有限,它只有一行,但是二維碼有很多行,所以二維碼傳遞的信息量更大。手機普及以后,網(wǎng)絡(luò)世界的信息越來越豐富,我們的手機要處理的網(wǎng)絡(luò)信息也越來越復(fù)雜,能夠傳遞更大信息量的二維碼,會更加貼合我們的數(shù)據(jù)需求,于是二維碼就變得越來越主流了。