不知道從什麼時候開始,我們的生活突然之間就充滿瞭二維碼——看網頁要掃二維碼,加好友要掃二維碼,現在連樓下賣草莓的大爺都支持掃碼支付瞭。
那麼你有沒有想過,這個長得很奇怪的東西,到底是怎麼來的?二維碼,到底是什麼原理呢?
==================================================================
其實在我們介紹二維碼的原理之前,你可能已經猜到瞭,二維碼就是把信息翻譯成黑白小方塊,然後填到這個大方塊裡。
這有點類似於中學考試中用的答題卡,就是把信息變成機器可掃描的圖案,一秒鐘就能知道你得瞭多少分。當然,二維碼的原理和答題卡還不太一樣,這個我們稍後會講到。
我們先來介紹二維碼的哥哥——條形碼,也就是超市收銀員掃的那個黑白條。電腦在水平方向上識別粗細不均的黑白條,就能找出藏在其中的商品編號信息。
相比於隻在一個維度上攜帶信息的條形碼, “二維碼”在水平、垂直兩個維度上,都攜帶瞭信息,也就做成瞭這個方塊狀的樣子。
條形碼和二維碼這一對好兄弟,說白瞭,其實就是給數字、字母、符號等這些字符,換瞭一身衣服,把它們打扮成瞭能被手機相機識別的黑白條或塊。
那麼,最關鍵的問題來瞭,這些字符,到底是怎麼變成這種二維碼圖案的呢?
這就要提到一個人類具有劃時代意義的偉大發明:二進制。
我們平時使用的數字、字母、漢字等各種字符,雖然畫風完全不同,但是機智的人類,發明瞭一個方法,使它們都可以被統一轉換成由0和1組成的二進制數字序列。
這個轉換的過程叫做編碼。國際上有幾套通用的編碼規則,我們今天就用一個例子來感受一下,編碼是怎麼回事(字幕QR碼通用編碼規則 ISO18004)。
比如AB這個由兩個英文字母組成的字符。
根據編碼規則,每一個獨立的英文字母都有唯一一個十進制數字與之對應(畫表)。
而像AB這樣的字符串,則要在對應數字的基礎上再做運算。,
而運算結果再轉化成二進制,就是這一串數字。
哦對瞭,整個計算機和互聯網文明,都是建立在這種二進制編碼上的。你現在看的這個視頻,在你的手機裡,其實也隻是一串0和1而已。
-====================================================-
我們回到二維碼的生成原理上。字符在變成隻有0和1組成的數字序列後,再進行一系列優化算法,就得到瞭最終的二進制編碼。
在最後這串編碼中,一個0對應的就是一個白色小方塊,一個1對應的就是一個黑色小方塊,我們把這些小方塊,按照8個一組,填進大方塊裡,這就是一個完整的,可以被手機相機識別的二維碼圖案瞭。
囧知道 (二維碼自動識別)
這就是二維碼的基本原理。
如果你要問,為什麼所有二維碼都有這三個方塊,其實這三個一模一樣的方塊,是用來給手機相機定位的。不信你就試著掃一下,是不是不管正著掃,倒著掃,還是斜著掃,掃出來的結果都是一樣的?
囧知道 (二維碼自動識別)
【囧知】科普:二維碼是什麼原理 – 騰訊視頻https://v.qq.com/x/page/s03139rqfmp.html
-
扫码下载安卓APP
-
微信扫一扫关注我们微信扫一扫打开小程序手Q扫一扫打开小程序
-
返回顶部