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