揚州職業大學 林革
提起二維碼,想必大家都不會陌生。因為這種在移動設備上使用的編碼方式,早已滲透到生產、生活的方方面面,用俯拾皆是或當下潮流來形容應該不算為過。
據不完全統計,二維碼作為一種全新的信息存儲、傳遞和識別技術,目前廣泛應用于外交、軍事、海關、公安、稅務、商業、交通、郵政等部門,在信息獲取、網站跳轉、廣告推送、手機電商、防偽溯源、優惠促銷、會員、賬號等方面充分發揮其快捷、高效的功用。就拿用戶達10 億的微信為例,登錄、支付、管理、傳遞信息等都要生成大量二維碼,每天如此,需要的二維碼數目就非常巨大。因此,難免有人擔憂:二維碼會被用完嗎?要回答這個問題,必須先從二維碼的構造說起。
所謂二維碼,是指用某種特定的幾何圖形按一定規律在平面(二維方向)上分布的、黑白相間的、記錄數據符號信息的圖形。通俗的解釋是,二維碼的信息存儲方式采用的是二進制,只不過0 和1 分別用黑、白來表示。因此,只要留意觀察,就會明白用黑、白方格組成的二維碼的數學含義:使用若干個與二進制相對應的幾何形體來表示文字數值信息,可通過相關設備進行自動識讀處理。
與一維的條形碼相比,二維碼除了具有編碼范圍廣、糾錯能力強、譯碼水平高、成本低廉、易于制作等特點外,最明顯的優勢在于高密度編碼,信息容量大,生成數目幾乎不受限制。
二維碼目前共有40 個官方版本,編號從Version1 到Version40。其中Version1是21×21矩陣,Version2是25×25矩陣,Version3是29×29矩陣……每個版本都比前一個版本增加4。以此類推,21+4×39=177,所以Version40 就是177×177 矩陣。
取Version4版本,即33×33矩陣為例,粗略地統計就有1 000 個小方格,每個方格都有黑、白2 種涂法,那么1 000 個方格的涂法就有種,這就是理論意義上Version4 可生成的二維碼數目。
考慮到實際應用中,需要一些定位和冗余糾錯用的小方格,即便是最保守的估計,這些其他用途的編碼所需的信息存儲空間為50%,即占用500 個小方格,那么還有500 個小方格可作為數據碼。根據上面的計算方法可知,500 個方格的涂法就有2500種,即Version4 最少可生成2500個不同的二維碼。那么,這個數據究竟有多大呢?在此允許我賣個關子,先向大家介紹“古戈爾”(googol)。
“古戈爾”表示的是10100,這個數是個現實界限,因為宇宙間任何一個實際量都不能超過它。比如,地球的表面積約為510 000 000 平方千米,如果用平方毫米來表示,也只不過是大約5×1020平方毫米。地球的體積為1 083 200 000 000 立方千米,如果用立方毫米來表示,那也只有約1030立方毫米。1 立方毫米相當于一根大頭針的針尖那么大,里面最多可以容納10 粒細沙,那么整個地球的體積內,也只能容納1031粒細沙。這些數字顯然遠遠小于“古戈爾”。
再比如,目前世界上最高速的電子計算機每秒鐘運算10 億(109)次,假定它從宇宙形成時(距今約137 億年)就開始運算,到今天它的運算次數也達不到10100次。
星際距離一般用光年來度量,1 光年是光線1年通過的距離,約9 500 000 000 000千米。目前我們人類所能觀測到的空間范圍約100 億光年,用最小的長度單位埃(千萬分之一毫米)來表示,也只有1036埃。此外,宇宙是人類的科學研究對象中最大的一個(直徑約為1 560 億光年),原子核是最小的一個(直徑為10-15米~10-14米),而這兩個研究對象的大小對比的倍數,也只有約1041倍。這一切的數字都不能夠超過“古戈爾”。
也正因為如此,斯坦福大學的年輕大學生謝爾蓋·布林和拉里·佩奇將其聯合創立的搜索引擎命名為“谷歌”(Google)就頗具深意。相近的讀音寓意著創始人對“谷歌”的期望,即無所不包、無所不及。
好,有了“古戈爾”的鋪墊,現在我們再來看2500。不難判斷,2500=(25)100=32100,遠大于10100??梢钥隙ǖ氖?,這個數大到你根本讀不出來,只能用“無休無止”來形容。
為了強化二維碼幾近“無窮無盡”的特征,再以大家熟悉的手機微信付款碼為例說明:它是一個25×25 的矩陣,除去定位和冗余糾錯用的小方塊,可供使用的小方塊有478 個,可以構成2478個二維碼。假設微信一年掃掉6 000 億個二維碼,那么用完25×25 矩陣二維碼就需要1.301×10132年,遠遠超過50 億年的地球剩余壽命。因此,盡管有人說過二維碼用完之時就是世界末日,其實也沒什么好擔心的喲!