愛伊米

這麼多二維碼不會重複嗎,生成器怎麼保證生成的二維碼不重複?

這麼多二維碼不會重複嗎,不同的二維碼生成器怎麼保證生成的二維碼不重複?

答:

首先我要回答一般是不會重複的哦,答者曾經也擔心我的收款碼會不會和其它人的重複,導致錢被其他人收走(不要嘲笑),下面我將介紹一下二維碼以及它不重複的原因。

二維條碼是用某種特定的幾何圖形按一定規律在平面(二維方向上)分佈的、黑白相間的、記錄資料符號資訊的圖形,使用若干個與二進位制相對應的幾何形體來表示文字數值資訊,透過圖象輸入裝置或光電掃描裝置自動識讀以實現資訊自動處理,其可以分為堆疊式/行排式二維條碼和矩陣式二維條碼。堆疊式/行排式二維條碼形態上是由多行短截的一維條碼堆疊而成;矩陣式二維條碼以矩陣的形式組成,在矩陣相應元素位置上用“點”和“空”的排列組成1和0程式碼。

對於二維碼還有一點需要我們知道,它其實也是有自己的編制的,比如QRCode二維碼(簡稱QR碼),daatrix二維碼(簡稱DM碼),PDF417二維碼,MaxiCode二維碼,漢信碼(漢信碼是由我們國家自主研發的一種矩陣式二維條碼,具有高強的漢字編碼能力)等幾十種編制格式,對於不同的編制它們是不能互相識別的,舉個不恰當的例子:你用微信掃支付寶收款碼是顯示不出來介面的!!

對於重複性,以QR碼為例,QR碼的典型特徵是黑白兩色並存在3個角中,如下圖

這麼多二維碼不會重複嗎,生成器怎麼保證生成的二維碼不重複?

圖片來源於網上[2]

QR碼符號共有40種規格的矩陣(一般為黑白色),從21x21(版本1),到177x177(版本40),每一版本符號比前一版本每邊增加幾個模組並進行更復雜的佈局。

這裡便於理解,我們以第一版為例

這麼多二維碼不會重複嗎,生成器怎麼保證生成的二維碼不重複?

圖片來源於網上[3]

其中黃色的是儲存資料的地區,我們可以計算得到有208(21×21 - 8*9*2-9*9 -8)個儲存資料的數空間,那麼第一版的QR碼就能有2^208種類型!!!這個數字是什麼概念吶?對於2^33,數目大約是85億(比現在的地球人口還多),所以,二維碼會重複嗎?會,但基本不可能!!所以大家放心使用收款碼,不用怕別人“偷”走你的錢錢!

參考資料:

二維碼

影象中二維碼的檢測和定位

QR碼生成原理(一)

by just_iu