二維碼起源于日本,原本是Denso Wave公司為了追蹤汽車零部件而設(shè)計(jì)的一種條碼。一個(gè)用計(jì)算機(jī)軟件編碼技術(shù)形成的平面幾何圖形,在幾何圖形中可以通過編碼技術(shù)來存儲數(shù)字、漢字或圖片,它是一個(gè)不含電子芯片的存儲器,而且這個(gè)圖形可以通過打印、印刷、屏顯等形式出現(xiàn),其成本遠(yuǎn)低于電子存儲器。
二維碼在代碼編制上巧妙地利用構(gòu)成計(jì)算機(jī)內(nèi)部邏輯基礎(chǔ)的“0”、“1”比特流的概念,使用若干個(gè)與二進(jìn)制相對應(yīng)的幾何形體來表示文字?jǐn)?shù)值信息,通過圖像輸入設(shè)備或光電掃描設(shè)備自動識讀以實(shí)現(xiàn)信息自動處理,它能夠在橫向和縱向兩個(gè)方位同時(shí)表達(dá)信息,因此能在很小的面積內(nèi)表達(dá)大量信息。
短陣式二維碼(又稱棋盤式二維碼),是在一個(gè)矩形空間里通過黑、白像素在矩陣中的不同分布進(jìn)行編碼,手機(jī)正常掃描后會跳出高可靠性的信息。在矩陣元素位置上,出現(xiàn)方點(diǎn)、圓點(diǎn)或其他形狀點(diǎn)表示二進(jìn)制“1”,不出現(xiàn)點(diǎn)表示二進(jìn)制的“0”,點(diǎn)的排列組合確定了矩陣式二維碼所代表的意義。矩陣式二維碼是建立在計(jì)算機(jī)圖像處理技術(shù)、組合編碼原理等基礎(chǔ)上的一種新型圖形符號自動識讀處理碼制。具有代表性的矩陣式二維碼有:Code One、Maxi Code、QR Code、Data Matrix等。
在一個(gè)矩陣中,黑白的區(qū)域在QR碼規(guī)范中被指定為固定位置,稱之為尋像圖形(finder pattern)和定位圖形(timingpattern)。尋像圖形和定位圖形用來幫助解碼程序確定圖形中具體符號的坐標(biāo)。黃色的區(qū)域用來保存被編碼的數(shù)據(jù)內(nèi)容以及糾錯(cuò)信息碼。藍(lán)色的區(qū)域,用來標(biāo)識糾錯(cuò)的級別(也就是Level L到Level H)和所謂的“Mask pattern”,這個(gè)區(qū)域被稱之為“格式化信息”(format information)。
二維碼的種類很多,不同的機(jī)構(gòu)開發(fā)出的二維條碼具有不同的結(jié)構(gòu)以及編寫、讀取方法。常見的二維碼還有堆疊式/行排式。堆疊式/行排式二維碼又稱堆積式二維碼或?qū)优攀蕉S碼,其編碼原理是建立在一維條碼基礎(chǔ)之上,按需要堆積成二行或多行。它在編碼設(shè)計(jì)、校驗(yàn)原理、識讀方式等方面繼承了一維條碼的一些特點(diǎn),識讀設(shè)備與條碼印刷與一維條碼技術(shù)兼容。但由于行數(shù)的增加,需要對行進(jìn)行判定,其譯碼算法與軟件也不完全相同于一維條碼。有代表性的行排式二維條碼有:Code 16K、Code 49、PDF417等。