二維碼的原理可以從矩陣式二維碼的原理和行列式二維碼的原理來講述。
矩陣式原理
矩陣式二維碼(又稱棋盤式二維碼)是在一個(gè)矩形空間通過黑、白像素在矩陣中的不同分布進(jìn)行編碼。右圖是國內(nèi)常用的矩陣式二維碼實(shí)例,手機(jī)正常掃描后會(huì)跳出高可靠性的信息:
在矩陣元素位置上,出現(xiàn)方點(diǎn)、圓點(diǎn)或其他形狀點(diǎn)表示二進(jìn)制“1”,不出現(xiàn)點(diǎn)表示二進(jìn)制的“0”,點(diǎn)的排列組合確定了矩陣式二維碼所代表的意義。矩陣式二維碼是建立在計(jì)算機(jī)圖像處理技術(shù)、組合編碼原理等基礎(chǔ)上的一種新型圖形符號(hào)自動(dòng)識(shí)讀處理碼制。具有代表性的矩陣式二維碼有:code one、maxi code、qr code、 data matrix等。
行排式原理
行排式二維碼(又稱:堆積式二維碼或?qū)优攀蕉S碼),其編碼原理是建立在一維碼基礎(chǔ)之上,按需要堆積成二行或多行。它在編碼設(shè)計(jì)、校驗(yàn)原理、識(shí)讀方式等方面繼承了一維碼的一些特點(diǎn),識(shí)讀設(shè)備與條碼印刷與一維碼技術(shù)兼容。但由于行數(shù)的增加,需要對(duì)行進(jìn)行判定、其譯碼算法與軟件也不完全相同于一維碼。有代表性的行排式二維碼有code49、code 16k、pdf417等。其中的code49,是1987年由 david allair 博士研制,intermec 公司推出的第一個(gè)二維碼。