作者 | Dan Hollick
譯者 | 彎月
QR 碼(Quick Response Code,快速響應(yīng)矩陣圖碼)是二維碼的一種,于 1994 年由日本汽車零組件大廠電裝公司的原昌宏所發(fā)明,用于在制造過(guò)程中跟蹤零件。
在日常生活中,條形碼的使用也很常見,但它們有一定的局限性:只能以特定的角度讀取,并且存儲(chǔ)的數(shù)據(jù)量非常有限。
而 QR 碼解決了這些問(wèn)題。
QR 碼最大的特征為其左上、右上、左下三個(gè)大型的如同 " 回 " 字的正方圖案,名叫 " 定位標(biāo)志 ",用于幫助解碼軟件定位,如下圖紅色方塊所示。
還有一個(gè)較小的正方圖案,名叫 " 校正標(biāo)志 ",用于幫助解碼軟件識(shí)別 QR 碼的方向和角度,這樣解碼軟件就可以從任何角度讀取 QR 碼,如下圖粉紅色方塊所示。

每個(gè) QR 碼都有黑白相間的點(diǎn)線,稱為 " 定時(shí)標(biāo)志 ",用于確定 QR 碼的寬度以及點(diǎn)數(shù),如下圖藍(lán)色點(diǎn)線所示。

下圖中虛線可以告訴讀者整個(gè) QR 可以有多大,其中版本 2 是最小的版本,版本 40 是最大的。

有關(guān)格式的信息存儲(chǔ)在定位標(biāo)志附近的兩條點(diǎn)帶中,如下圖的黃色點(diǎn)所示。
格式信息存儲(chǔ)了兩次,因此即使 QR 碼被部分遮擋也可以讀取。

格式信息保存了三種關(guān)鍵信息:
掩碼的類型
糾錯(cuò)等級(jí)
糾錯(cuò)格式

糾錯(cuò)等級(jí)代表了 QR 碼中存儲(chǔ)了多少冗余信息,糾錯(cuò)的目的是即使部分信息丟失也仍然可以讀取。
L 等級(jí)(Low)
7% 的字碼可被修正
M 等級(jí)(Medium)
15% 的字碼可被修正
Q 等級(jí)(Quartile)
25% 的字碼可被修正
H 等級(jí)(High)
30% 的字碼可被修正
糾錯(cuò)等級(jí)越高,就意味著冗余等級(jí)越高,因此 QR 碼遭到破壞時(shí)仍然能被讀取的可能性就越高。如下 QR 碼雖然右下角有一大片被覆蓋,但仍然能被讀取,你可以試試看。
QR 碼在白色區(qū)域和黑色區(qū)域數(shù)量相同時(shí)讀取的效果最好。如果數(shù)據(jù)區(qū)域出現(xiàn)連續(xù)的空白或者連續(xù)的黑色區(qū),就需要用到掩碼。

當(dāng)利用掩碼處理 QR 碼時(shí),數(shù)據(jù)區(qū)上對(duì)應(yīng)掩模黑色模塊的單元將會(huì)反轉(zhuǎn)。
白色區(qū)域會(huì)變?yōu)楹谏谏珔^(qū)域會(huì)變?yōu)榘咨?/p>

QR 碼提供八種掩碼模型,這些掩碼會(huì)被逐個(gè)嘗試,直到找到效果最好的掩碼。掩碼的信息會(huì)存儲(chǔ)下來(lái),供讀取裝置解除掩碼使用。

最終,我們將得到實(shí)際數(shù)據(jù)。
不過(guò),這個(gè)數(shù)據(jù)是從右下角開始的,按照如下圖所示的方向返回。
由于 QR 碼可以從任何角度讀取,因此實(shí)際上從哪里開始讀取都沒(méi)關(guān)系。

QR 碼中的第一塊信息可以告訴我們數(shù)據(jù)編碼的模式,而第二塊信息是數(shù)據(jù)的長(zhǎng)度。
在我們的例子中,每個(gè)字符包含 8 個(gè)比特(也就是一個(gè)字節(jié)),一共有 24 個(gè)字節(jié)。

上圖中,綠色空間存儲(chǔ)的是我們的數(shù)據(jù),后面還有大量未使用的空間。
這些空間被用來(lái)存儲(chǔ)糾錯(cuò)信息,如下圖中紫色空間所示,目的是在 QR 碼遭到損壞時(shí)依然能夠讀取,當(dāng)然實(shí)際的工作方式非常復(fù)雜,我不打算在此詳細(xì)討論。

以上就是 QR 碼的基本知識(shí)!
最后附上一張完整的說(shuō)明圖。

原文地址:http://www.myzaker.com/article/63282861b15ec038646c2478
轉(zhuǎn)載請(qǐng)注明:二維碼是如何設(shè)計(jì)出來(lái)的? | 快導(dǎo)航網(wǎng)







川公網(wǎng)安備51012402001058號(hào)