二維碼真的會被用光嗎?我們每天掃的二維碼竟然不是無限資源?!_風聞
把科学带回家-把科学带回家官方账号-专注于孩子的科普教育1小时前

撰文 | 劉六七
審校 | Ziv
如今,二維碼幾乎成了生活的標配。
早上出門掃一輛共享單車;中午吃飯查看電子菜單;晚上逛超市,結賬時點開付款碼;更別提登陸各種網站、交換微信好友、乘坐公交地鐵……二維碼早已深深嵌入我們的日常。
也難怪有人會提出這樣的擔憂:“據説,全球每天消耗100億個二維碼,所以二維碼很快就會被用完。”

實際上,有關全球二維碼的每日消耗數量,並沒有官方數據|圖源:微博
理論上講,二維碼的數量確實是有限的,而且出於安全考慮,幾乎不會發生重複利用的情況。不過我們仍然可以放心,因為在可預見的未來,二維碼被消耗殆盡的情況幾乎不會發生。
在詳細展開這個問題前,我們不妨先了解一下二維碼的工作原理。
二維碼又叫二維條碼,它通過將多個幾何圖形按照一定順序排列,來記錄並存儲信息。與通常只能在水平方向上存儲信息的條形碼不同,二維碼**可以在水平和垂直兩個維度上存儲信息,**這也是它為什麼叫 “二維”的原因。

二維碼的數據存儲能力要遠強於條形碼|圖源:網絡
計算機的運行邏輯是“0”和“1”組成的比特流,二維碼的運行原理同樣基於此。
我們將二維碼放大後便會發現,它其實是由多個小方塊組成的。通常情況下,**白色方塊代表“0”,黑色方塊代表“1”,**不同方塊一排列組合就實現了不同信息的存儲。

圖源:Undark Magazine
雖説每張二維碼長得都不一樣,但它們卻擁有一些相同的圖案或相似的區域。本文將以日常生活中最常見的QR型二維碼為例,向大家介紹。
觀察我們日常生活中掃的那些碼就會發現,每張二維碼的左上角、左下角和右上角都有特別顯眼的矩形。這三個大矩形叫**“定位圖案”,能幫攝像頭快速找到二維碼。**我們掃碼的時候經常還沒有完全對準,就“嗶”地掃出了內容,靠得就是定位圖案。

三個定位圖案之間,有兩條由黑、白方塊依次交替排列組成的線。它們叫做**“定時圖案”,**可以讓讀取器有個譜,知道這張碼尺寸大概有多大。
有些二維碼內部還有些小矩形,它們叫做**“校正圖案”,能夠幫攝像頭“拉平”印在非平面上的二維碼。**當然了,如果是印在絕對平面上,不要校正圖案也沒問題。

如果二維碼存儲的信息不多,一個校正圖案足矣,如果存儲信息很多,就需要多個|圖源:網絡
除了以上固定圖案,二維碼還有一些固定區域,比如用來確立邊界的“空白區域”、提示二維碼屬於哪種版本的“版本信息區域”,和揭示容錯空間等信息的“格式信息區域”。
除去固定圖案、區域後,剩下的廣闊空間就是**“信息存儲區”了。我們已經知道二維碼是通過將不同色塊排列組合來存儲信息的,那麼想要回答“二維碼會不會用盡”這個問題,就要先看看這些黑白色塊一共有多少種排列組合方式。**

圖源:EuroKids
以25╳25色塊的二維碼為例,除去固定圖案、區域後,還剩478個方塊。每個方塊可以是黑、白兩種顏色,所以總共有2478種組合。
宇宙誕生至今大概137億年,我們假設人類在宇宙誕生後的每天都使用100億個二維碼,那麼一共會用掉大約5╳1022個二維碼,換算一下,只佔2478種組合中很小的比例。

每增加一個版本,就比前一版本每邊增加4個模塊。公式是:(V-1)*4+21(V是版本號)
況且,25╳25色塊的二維碼只是眾多版本之一。**QR型二維碼總共有40個版本,最小版本是21╳21色塊的矩陣,最大版本是177╳177色塊的矩陣。**以最大版本為例,它的色塊排列組合幾乎等於無窮大,所以我們根本無需擔心二維碼會有被用光的那天。
縱觀歷史,人類創造二維碼就是為了獲得用之不竭的存儲容量。我們今天最常用的QR型二維碼,是由日本工程師原昌宏設計出來的。

原昌宏被稱作“二維碼之父”|圖源:QR Plus
原昌宏供職於汽車零部件製造商電裝公司。上個世紀末,電裝公司用條形碼來追蹤產品運輸流程。
但條形碼的問題在於其數據存儲能力有限,只能轉化出20個數字。要想記錄全部的生產和運輸信息,**一個產品最多需要貼上10張條形碼,**導致了效率低下和人力浪費。
那時,美國已經研發出二維條形碼,不過原昌宏發現,當二維條形碼周圍有文字或其他圖形時,讀取很容易受到干擾。於是,他創造性地加入了定位圖案等元素,大大加快了讀取效率。這也是為什麼二維碼的英文叫QR Code,即Quick Response“快速反應”。

原昌宏説,有一次在火車上看車窗外的建築,發現一户人家的窗框和其他家都不相同,格外顯眼,由此想出了“定位圖案”的設計|圖源:Leeloo The First
QR型二維碼還有很多兄弟姐妹:比如沒有定位圖案的DM碼、形狀為長條形的PDF417碼、由六邊形組成的maxicode碼……每個型號的二維條碼都像是個巨大的“宇宙”。

二維條碼大家族|圖源:Camcode
那麼問題來了,你每天大概會用幾張二維碼呢?
參考資料:
[1] https://mp.weixin.qq.com/s/GLdB6HLFlpy26NV8Oj7EYg
[2] https://www.businessinsider.com/guides/tech/what-is-a-qr-code
[3]https://mainichi.jp/english/articles/20211109/p2a/00m/0bu/024000c
[4]https://tv.cctv.com/2024/06/22/VIDEZ8ofJxnYnLhFLukxpwX3240622.shtml