二維碼缺了一塊照樣好使?
近段時(shí)間,小編遇到了一件十分神奇的事情。小編在擼完串準(zhǔn)備結(jié)賬的時(shí)候,一塊肉正好掉在了支付的二維碼上,遮住了部分的二維碼。然而,小編竟然支付成功了,這讓小編倍感驚訝。
二維碼模糊了一部分還能掃的出來嘛?
為了驗(yàn)證這個(gè)猜想,挨踢妹測試多個(gè)二維碼,又專門查詢了各種技術(shù)資料,終于得到以下結(jié)論!
① 二維碼在發(fā)明時(shí)有容錯(cuò)機(jī)制的設(shè)計(jì),所以即使缺失一部分也可以識(shí)別掃描
② 手機(jī)掃碼是依靠二維碼上的【回】字圖來定位,通過對(duì)黑白色塊的翻譯識(shí)別信息
現(xiàn)在挨踢妹就簡單給大家科普一下二維碼,揭開這個(gè)小方塊到底有什么神奇之處。
簡單來說,二維碼是一種開放的信息存儲(chǔ)器,二維碼是相對(duì)于一維碼來說的,比如商品上的條形碼就屬于一維碼,掃描條形碼,也可以讀取到它存儲(chǔ)的信息。但二維碼相比一維碼來說,存儲(chǔ)的數(shù)據(jù)量更大,可以包含數(shù)據(jù)、字符和中文文本等混合內(nèi)容。
雖然二維碼是近幾年才火遍大街小巷,但其實(shí)二維碼的技術(shù)研究早在20世紀(jì)80年代末就已經(jīng)開始了,并且推出了多種碼制,常見的有堆疊式二維碼的PDF417、Code 49、Code 16K,矩陣式二維碼的QR Code、Code one等,這些二維碼的信息密度都比傳統(tǒng)的一維碼有了較大提高,如PDF417的信息密度是一維碼CodeC39的20多倍。
現(xiàn)在最流行,也是大家最常使用的是矩陣式二維碼 QR Code,利用的也是二進(jìn)制原理,用黑色方塊表示二進(jìn)制"1",白色方塊表示二進(jìn)制"0",黑白相間的圖案其實(shí)就是一串編碼,掃碼的過程就是翻譯這些編碼的過程。
二維碼每個(gè)部分都有各自作用。
其中定位圖案就是“回”字形圖案,用三個(gè)定位圖案即可標(biāo)識(shí)并確定一個(gè)二維碼矩形的位置和方向,QR碼從360°任一方向均可快速讀取,其奧秘就在于這 3 處定位圖案,可以幫助QR碼不受背景樣式的影響,實(shí)現(xiàn)快速穩(wěn)定的讀取。
其他還包括定位圖形、校正圖形、格式信息、版本信息、糾錯(cuò)碼,和主要區(qū)域的圖形(即二維碼承擔(dān)存儲(chǔ)功能的核心數(shù)據(jù))。
出于掃碼成功率考慮,QR Code 還具有糾錯(cuò)功能的,即使編碼變臟或破損,也可自動(dòng)恢復(fù)數(shù)據(jù)。糾錯(cuò)編碼會(huì)把數(shù)據(jù)碼字序列分塊,根據(jù)糾錯(cuò)等級(jí)和分塊的碼字,產(chǎn)生糾錯(cuò)碼字,并把糾錯(cuò)碼字加入到數(shù)據(jù)碼字序列后面,成為一個(gè)新的序列。我們可以簡單可以理解為在不同位置重復(fù)放置信息數(shù)據(jù)。
糾錯(cuò)功能分為4個(gè)級(jí)別,即M級(jí)、L級(jí)、Q級(jí)和H級(jí),不同級(jí)別的糾錯(cuò)能力也不同
L級(jí)7%字碼修正
M級(jí)15%字碼修正
Q級(jí)25%字碼修正
H級(jí)30%字碼修正
調(diào)高級(jí)別,糾錯(cuò)能力也相應(yīng)提高,但由于數(shù)據(jù)量會(huì)隨之增加,二維碼圖案尺寸也會(huì)變大。
所以,如果二維碼只是缺了個(gè)角,掉了點(diǎn)皮,只要能掃描到大部分,依然可以識(shí)別,但如果用于定位的“回”字圖形被損壞,就可能讀取信息失敗。
不過,也有不法分子,會(huì)利用二維碼可存儲(chǔ)信息的技術(shù),植入手機(jī)病毒和釣魚網(wǎng)站,甚至可以占用手機(jī)短信接口,移花接木,盜走用戶錢財(cái),所以大家需要提高防范意識(shí),不要隨便掃描來源不明的二維碼,以免造成個(gè)人財(cái)產(chǎn)損失。