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