無“碼”寸步難行,已經是現在人們日常生活的真實寫照。疫情防控,需要出示健康綠碼;大學生返校,需要出示校園碼;吃飯、購物,需要亮出手機支付碼付費;新認識一位朋友,我們首先就是亮出自己的微信二維碼:來,加個好友……生活中處處用“碼”,不少人會問:二維碼是怎樣生成的?它存儲信息的原理是什麼?
資料圖
最近記者搭乘飛機從杭州回京,在蕭山國際機場的值機櫃台排隊時,地勤工作人員反覆提醒大家“掃碼”填報行程信息,以便申領健康碼。記者看到,一塊告示板上,密密麻麻貼着包括北京在內十多個省份的行程信息登記二維碼,拿出手機,打開微信或者支付寶,輕鬆一掃,填完個人信息,不到半分鐘,一個顯示“無異常”的二維碼就生成了。
“大家天天掃碼,可這二維碼的原理是什麼?”記者身後,坐飛機回京的林先生跟朋友交流起來,沒想到很快引發了身邊人的討論,“現在到處用‘碼’啊,一個小小的符號,是如何存儲信息的?”即將飛往西安的鄭女士也疑惑地説。也有人提問:哪天二維碼用光了,會不會有三維碼、四維碼?
什麼是二維碼?記者請教了中科院的專家。據介紹,二維碼最早產生於1994年,是用特定的幾何圖形按一定規律在平面分佈,形成黑白相間的數據記錄圖形。它使用若干個二進制來表達文字數據信息。現在的二維碼有40個官方版本,最小為21乘以21矩陣、最大為177乘以177矩陣。比如微信名片就是37乘以37矩陣規格,微信的付款碼是25乘以25矩陣規格。
“顯然,二維碼的總數肯定是有限的,這跟二維碼的尺寸密切相關。”中科院計算所的專家對記者説,如果二維碼的尺寸是2乘以2的矩陣,那最多隻能生成16種二維碼,肯定瞬間就用完了。而如果用微信的付款碼規格,可以產生無數億個不同的二維碼。此前有新聞稱,新冠肺炎疫情至今,國內已經使用了1400億個二維碼,即便如此使用強度,二維碼也可以使用無數億年,大約是10的132次方年。即使未來有一天,現有的二維碼真的不夠用了,完全可以再進一步增加二維碼的尺寸,那又會多出無數億種信息記錄符號。