審核專家:景媛 中級會計師
在數(shù)字化浪潮的推動下,二維碼已悄然滲透到我們生活的方方面面。從購物支付到社交互動,它都扮演著舉足輕重的角色。你是否曾好奇過,這個由黑白方塊組成的二維碼背后隱藏著怎樣的科技原理?為何手機無論從哪個角度都能準確無誤地掃碼?全球每天都會生成天量二維碼,它會有用完的一天嗎……今天,一起走進二維碼的世界,探尋其背后的科技奧秘。
圖源:千庫網(wǎng)
二維碼的起源
我們現(xiàn)今所熟知的二維碼,其起源可追溯至初代的條形碼,即一維碼,它被視為二維碼的早期形態(tài)。上個世紀五十年代,隨著經(jīng)濟發(fā)展,日本人為解決收銀員用手寫記錄商品售賣情況而引起的結(jié)賬效率慢的問題,發(fā)明了條形碼。
圖源:百度圖片
現(xiàn)在,在各個商品外包裝角落上還可以很方便的找到它的存在。條形碼通過黑白相間、寬度不同的線條組合,利用光線照射時,黑白部分對光的不同反射特性來存儲信息。
具體來說,黑色線條吸收大部分入射光,幾乎不反射回掃描設備;而白色線條則反射大部分入射光。掃描器發(fā)射出特定波長的光線,當光線照在條形碼上時,接收器檢測到反射回來的光強度變化。
這些變化按照黑白線條的排列順序被轉(zhuǎn)換成相應的電信號,進而解碼為包含產(chǎn)品信息的數(shù)字或字母數(shù)據(jù),但是條形碼由于長度有限,存儲的信息很快就不能滿足社會的需求了。
1994年,日本人騰弘原對條形碼進行了改造,設計出了點陣狀的信息存儲色塊。
條形碼和二維碼 | 百度圖片
他改變了原有條形碼只能夠在水平方向上表達信息,實現(xiàn)了在水平和垂直兩個方向上儲存和表達信息。這樣,矩陣式色塊的信息量有了極大的提升。
經(jīng)過了多年的不斷發(fā)展,產(chǎn)生了多種編碼格式的二維碼。如:Data Matrix、MaxiCode、Aztec、QR Code、PDF417、Vericode、Ultracode、Code 49、Code 16K。其中,QR Code因其顯著的優(yōu)勢而成為最常見且廣泛應用的格式之一。
QR Code憑借其信息容量大,可編碼多種類型數(shù)據(jù);糾錯能力強,部分損壞仍可識別;譯碼可靠性高,誤碼率極低;并且數(shù)據(jù)在編碼前可以進行加密,以提高保密性和防偽性等優(yōu)勢,使其在各領域得到廣泛應用。
圖源:百度圖片
二維碼的工作原理
簡單的說,二維碼是一種開放性的信息存儲器,它能將固定的信息存儲在黑白小方塊之中,而且它可以無限使用。識別二維碼的設備并無嚴格限制,只需具備相應的掃描功能,如智能手機、專用讀碼器、甚至某些智能相機等,都可以將它所存儲的信息讀取出來。
二維碼工作的原理其實就是二進制算法。二進制是將所有的語言信息用機器語言0和1表達出來。二維碼圖案由一系列黑白相間的方塊組成,其中黑色方塊代表二進制數(shù)值“1”,白色方塊代表“0”。這些黑白圖案按照特定的編碼規(guī)則組合,形成一串二進制序列,用于存儲各種類型的數(shù)據(jù)。
識別設備通過捕獲圖像并分析其中的黑白對比,解析出二維碼中的二進制編碼序列。然后,解碼軟件運用相應的解碼算法,將二進制數(shù)據(jù)轉(zhuǎn)換為我們可讀的字符。這些字符可以包括數(shù)字、字母、特殊字符、漢字編碼等,具體取決于二維碼所采用的編碼標準和編碼內(nèi)容。
我們注意到,每個二維碼的邊角部位都有三個位置探測圖形(通常為較大尺寸的方塊),它們共同構(gòu)成了二維碼的定位系統(tǒng)。這三個位置探測圖形能夠確保識別設備快速準確地定位二維碼的位置和方向。
二維碼定位 | 百度圖片
三個點能確定一個面,這能保證我們在掃碼時,不管手機橫著掃、豎著掃或者斜著掃,都能正確獲取二維碼信息。
數(shù)字和糾錯碼字 | 百度圖片
此外,二維碼還包含校驗機制,如糾錯碼區(qū)域,用于檢測并修復在傳輸過程中可能發(fā)生的錯誤,確保數(shù)據(jù)的完整性和準確性。
二維碼會有用完的那一天嗎?
假設全世界每天消耗二維碼100億個二維碼。如果自宇宙在138億年前誕生以來,人類就開始以這個速度消耗二維碼,那么33×33版本的二維碼能夠支持人類使用多少個宇宙年齡的年數(shù)呢?我們首先確定幾個關鍵的數(shù)值:
1.全球每日消耗的二維碼數(shù)量:假設為100億個,即 10^9。
2.一年內(nèi)的總消耗量:一年大約有365天,每年的消耗量大約為365×10^9=3.65×10^11個二維碼。
3.宇宙的年齡:宇宙的年齡大約是138億年,用科學記數(shù)法表示為1.38×10^10年。
4.33×33版本二維碼的理論總數(shù):2^942個不同的編碼。
5.在1個宇宙年齡內(nèi)消耗量:3.6×10^11×1.38×10^10 =5.037×10^21個二維碼。
接下來,我們可以計算出按照當前的消耗速度,得到33×33版本二維碼可以支持的宇宙年齡的年數(shù),即使用二維碼的總數(shù)除以每年的消耗量與宇宙的年齡之積:
可支持的宇宙年齡的年數(shù)=2^942/3.65×10^11×1.38×10^10
綜上可知,開始以上述假設速度消耗二維碼,人類也才用了5.037×10^21個。也就是說,33×33版本足夠人類使用7.3805×10^261個“138億年”。
此外,二維碼有很多種類(包括QR Code、Code 49、Code 16K等,QR Code是其中廣泛使用的一種),每一種二維碼都可以承載很多信息。同一種二維碼類型,由于提供了不同尺寸或版本,每個版本都能搭載不同數(shù)量的信息。
所以,理論上,如果人類能夠在宇宙中存在足夠漫長的時間,二維碼是可以用完的,但這個時間實在太漫長了,也許就連宇宙本身都等不到那一天。即便二維碼真的用完,說不定遙遠未來的人類還會繼續(xù)增加更多的維度,其變化形態(tài)將會更多。