|
有人提出了這樣的擔(dān)憂:“據(jù)說,全球每天消耗 100 億個(gè)二維碼,二維碼會(huì)不會(huì)很快被用完?!?/span> 實(shí)際上,有關(guān)全球二維碼的每日消耗數(shù)量,并沒有官方的數(shù)據(jù) 理論上來說,二維碼的數(shù)量是有限的,同時(shí)出于安全考慮,幾乎不會(huì)發(fā)生重復(fù)利用的情況。不過不用擔(dān)心,因?yàn)樵诳深A(yù)見的未來,二維碼被消耗殆盡的情況幾乎不會(huì)發(fā)生。二維碼又稱二維條碼,它通過將多個(gè)幾何圖形按照一定順序排列,來達(dá)到記錄和存儲(chǔ)信息的目的。二維碼與通常只能在水平方向上存儲(chǔ)信息的條形碼不同,它可以在水平和垂直兩個(gè)維度上存儲(chǔ)信息,這也是它叫 “二維”的原因。 計(jì)算機(jī)的運(yùn)行邏輯是“ 0 ”和“ 1 ”組成的比特流,二維碼的運(yùn)行原理同樣基于此。 將二維碼放大,不難發(fā)現(xiàn),它其實(shí)是由多個(gè)小方塊組成的。通常情況下,白色方塊代表“ 0 ”,黑色方塊代表“ 1 ”,不同方塊的排列組合就實(shí)現(xiàn)了不同信息的存儲(chǔ)。 ![]() 盡管每張二維碼長得不一樣,但它們卻擁有一些相同的圖案或者相似的區(qū)域。下面以日常生活中最常見的 QR 型二維碼為例,向大家介紹。 仔細(xì)觀察,我們能發(fā)現(xiàn),每張二維碼的左上角、左下角和右上角都有特別顯眼的矩形。這三個(gè)大矩形叫“定位圖案”,可以幫攝像頭快速找到二維碼。有時(shí)我們掃碼還沒有完全對(duì)準(zhǔn),就“嗶”地掃出了內(nèi)容,憑借的就是這些定位圖案。 ![]() 三個(gè)定位圖案之間,有兩條由黑、白方塊依次交替排列組成的線。它們被稱為“定時(shí)圖案”,可以讓讀取器有個(gè)譜,大概知道這張碼尺寸有多大。 二維碼還有一些固定區(qū)域,比如用來確立邊界的“空白區(qū)域”、提示二維碼屬于哪種版本的“版本信息區(qū)域”,以及揭示容錯(cuò)空間等信息的“格式信息區(qū)域”。 除去上述這些,剩下的部分就是“信息存儲(chǔ)區(qū)”了。由于二維碼是通過將不同色塊排列組合來存儲(chǔ)信息的,那么想要回答“二維碼會(huì)不會(huì)被用盡”這個(gè)問題,我們就先來看看這些黑白色塊一共有多少種排列組合方式。 ![]() 以 25╳25 色塊的二維碼為例子,除去固定圖案、區(qū)域后,還剩下了 478 個(gè)方塊。每個(gè)方塊可以是黑色或者白色,所以共有 2478 種組合。 宇宙誕生至今大概 137 億年,假設(shè)人類在宇宙誕生后的每天都使用 100 億個(gè)二維碼,那么一共會(huì)用掉大約 5╳1022 個(gè)二維碼,這也只占 2478 種組合中很小的比例。 每增加一個(gè)版本,就比前一版本每邊增加4個(gè)模塊。公式是:(V-1)*4+21(V是版本號(hào)) 更不要說,25╳25 色塊的二維碼只是眾多版本之一。QR 型二維碼總共有 40 個(gè)版本,最小版本是 21╳21 色塊的矩陣,最大版本是 177╳177 色塊的矩陣。以最大版本為例,它的色塊排列組合幾乎等于無窮大,所以根本不用擔(dān)心二維碼會(huì)有被用光的那天。 縱觀歷史,人類創(chuàng)造二維碼就是為了獲得用之不竭的存儲(chǔ)容量。如今最常用的 QR 型二維碼,是由日本工程師原昌宏設(shè)計(jì)出來的。 ![]() 有一次在火車上看車窗外的建筑,發(fā)現(xiàn)一戶人家的窗框和其他家都不相同,格外顯眼,原昌宏由此想出了“定位圖案”的設(shè)計(jì)。 QR 型二維碼還有很多兄弟姐妹:比如形狀為長條形的 PDF417 碼、沒有定位圖案的 DM 碼、由六邊形組成的 maxicode 碼……每個(gè)型號(hào)的二維條碼都仿佛是個(gè)巨大的“宇宙”。 ![]() 二維條碼大家族 現(xiàn)在問題來了,你每天大概會(huì)用幾張二維碼? |
|
|