在移動互聯網時代,二維碼經常出現在我們的生活中。一眼看上去,二維碼就是由一些黑點、線條、方框組成的一個正方形圖案,很難看出其中有什么邏輯。但其實,二維碼本質上是通過一種固定的計算方式,由一段文本信息轉化而成的一張能夠被識別的圖片。
二維碼可以分為功能區和編碼區,功能區主要用于定位,編碼區才是用來存儲數據的。在功能區中,不同的圖形也有不同的作用,如位置探測圖形、定位圖形、校正圖形;編碼區則包括格式信息、版本信息、數據和糾錯碼等。
很多平臺都可以免費生成二維碼。幾乎所有的二維碼用的都是QR Code編碼方式,掌握了這種編碼方式,我們甚至可以用紙和筆把二維碼畫出來—當然前提是你不嫌麻煩。
掃二維碼的時候,我們一般會聽到“嘀”的一聲,這時候究竟發生了什么呢?
當我們用手機的攝像頭掃描二維碼或者使用“識別圖中二維碼”功能時,手機就開始讀取信息。獲得信息后,首先得對信息進行解密,然后把獲得的結果作為參數進行處理,最后才能得到處理的結果。
為什么同樣的手機,掃描二維碼的時候識別速度有快有慢呢?這主要是受二維碼的平整度和二維碼所含信息量的大小的影響。不同的App(應用程序)針對掃碼采用的優化措施不一樣,也會影響識別二維碼的速度。另外,不同手機攝像頭的硬件配置對識別速度也有影響。
我們生活中見到的大多數二維碼都是黑白的,這又是為什么呢?原因只有一個:黑白的二維碼掃描時速度會更快。
稍懂點計算機知識的人都知道,在計算機中,很多東西都是用二進制數據來表示的,手機讀取的二維碼信息也是這樣。手機讀取的信息中,白色代表1,黑色代表0。在所有的顏色中,這兩者的色值差別最大,因此識別起來最容易。