二維碼的工作原理是什麼?

二維碼的工作原理是什麼?

二維碼的工作原理是什麼?

二維碼的工作原理是什麼?

不知道從什麼時候開始,我們的生活中充滿了二維碼。加好友掃一掃,下載文件掃一掃,進入小程序掃一掃,就連學校門口賣烤紅薯的老大爺,三輪車上都貼了二維碼,支持掃碼付款。

二維碼的工作原理是什麼?

那麼,這些小格子組成的二維碼,到底是怎樣生成的?二維碼,又是什麼原理呢?

首先,舉個栗子。

大家去超市結賬的時候,收銀員掃著商品的條形碼,電腦在水平方向上識別粗細不均的黑白條,就能找出商品編號信息,比如價格,商品名稱。

二維碼的工作原理是什麼?

相比於條形碼只在一個緯度上工作,二維碼在水平和垂直兩個緯度上都攜帶了信息,也就是做成了這個方塊狀的東西。條形碼和二維碼這對好兄弟,其實就是給數字、符號這類的信息換了一身衣服,把他們打扮成能給電腦識別的黑白條和方塊。

這種方塊是怎麼變成能被電腦識別的圖案的呢?

這就要提到一個人類具有劃時代的發明了,那就是二進制。我們平時使用的數字和字母,還有漢字等各種字符,雖然畫風完全不同,但是機智的人類發明了一種方法,使他們都能被統一轉變為0和1組成的二進制數字序列,這個轉化的過程叫做編碼。

再舉個栗子,編碼是怎麼回事。

國際上有幾套通用的編碼規則。比如AB,這個由兩個英文字母組成的字符。根據編碼規則,每一個獨立的英文字母都有一個唯一的十進制數字與之對應,而想AB這樣的字符串,則要在對應數字的基礎上在做運算,而運算結果在轉化成二進制,就是一串數字。在整個計算機和物聯網文明都是建立在這種二進制編碼上的。

二維碼的工作原理是什麼?

我們回到二維碼的生成原理上,字符在變成只有0和1組成的數字序列後,在進行一系列優化算法後,就得到了最終的二進制編碼。在最後這串編碼中,一個0對應的就是一個白色小方塊,一個1對應的就是一個黑色的小方塊。我們把這些小方塊按照8個一組,填進大方塊裡,這就是一個完整的,可以被手機相機識別的二維碼圖案了。

為什麼所有的二維碼,都有三個小方塊在邊上?其實這個

三個一模一樣的小方塊是用來給手機相機定位的,這樣不管你的二維碼是正的掃還是倒著左右掃,都能被手機相機識別,並且掃出來的結果都一樣。


分享到:


相關文章: