<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > 二維碼究竟是怎么被掃出來(lái)的

二維碼究竟是怎么被掃出來(lái)的

發(fā)布人:電巢 時(shí)間:2022-11-27 來(lái)源:工程師 發(fā)布文章
image.png


我們每天都會(huì )掃大量的二維碼,乘坐地鐵需要掃描二維碼、付款時(shí)需要掃描二維碼,那你有沒(méi)有想過(guò),二維碼到底是怎么被識別出來(lái)的呢?

image.png


雖然每一個(gè)二維碼都是不同的樣子,但它們本質(zhì)上都是由無(wú)數個(gè)黑色小方塊和白色小方塊組成。二維碼雖然看起來(lái)就是一坨正方形的東西,但實(shí)際上我們可以根據它們的功能將其分別理解為定位區、儲存區以及格式區,我們用不同的顏色將它們區分開(kāi)來(lái)。如下圖。

image.png


首先是定位區由三個(gè)大的方塊兒,以及兩條與其他區域藏在一起的直線(xiàn)組成。無(wú)論是二維碼內儲存的任何信息,手機在照射到二維碼時(shí),首先便通過(guò)識別這三個(gè)方塊進(jìn)行定位,確定二維碼的范圍和方向。通過(guò)定位之后,我們無(wú)論用任何角度去掃機器,都能對二維碼進(jìn)行準確的識別。

除去定位區,剩下的部分全部由造型規整的黑白方塊組成,就是數據儲存的區域。在這里,我們就要提一下二進(jìn)制。我們都知道在計算機上所有的信息都由數字0和1交替組成。而在二維碼中黑色小方塊代表了1,白色小方塊代表了0。數據信息在不同的編碼規則中,按照著(zhù)0和1交替組成。假如在使用的二進(jìn)制編碼,中英文數字O的二進(jìn)制排列是01001111。那么在二維碼中就有一個(gè)白色方塊,一個(gè)黑色方塊,兩個(gè)白色方塊和四個(gè)黑色方塊依次組成。手機對著(zhù)一掃以八個(gè)方塊為主,由右下角開(kāi)始依次讀取,并把這些黑白方塊轉換為0和1。再將其識別為二進(jìn)制數字序列,然后進(jìn)行編碼,便能知道二維碼中的信息了。當然這只是一個(gè)簡(jiǎn)單的原理,具體實(shí)際應用中整個(gè)識別的運算過(guò)程會(huì )更加復雜一些。

image.png


說(shuō)到這,二維碼中的信息就被提取出來(lái)了。我們剛剛還提到一個(gè)格式區,這是干什么的呢?實(shí)際在識別方面呢,二維碼還包含了一定的容錯機制。數據序還可以做更細的劃分,將其中一部分劃出來(lái)作為容錯區域。當二維碼出現破損和遮擋時(shí),容錯區的數據備份便可以作為補充輔助識別。而根據容錯區域的大小,我們可以將二維碼的容錯等級分為四級,大小由7%到30%不等,區域越大,容錯率自然越高。儲存區域也會(huì )相應減小,而這個(gè)容錯等級就被藏在了格式區內。那么在識別前,機器就需要先對格式區進(jìn)行掃描。了解到二維碼的容錯等級后,再對內容進(jìn)行準確識別。

image.png


image.png


除此之外,二維碼還根據大小分為了四十個(gè)不同的版本,不同的大小可以包含的數據多少也不盡相同。在格式區內也包含了二維碼大小的版本信息。機器在識別前也會(huì )對這一部分提前掃描識別。在實(shí)際應用中,二維碼的識別順序是按照定位去進(jìn)行定位,格式去預識別二維碼信息,最后在儲存區讀取二維碼數據的順序進(jìn)行的。


*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。



關(guān)鍵詞: 二維碼

相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>