这么多二维码不会重复吗,不同的二维码生成器怎么保证生成的二维码不重复?

答:

首先我要回答一般是不会重复的哦,答者曾经也担心我的收款码会不会和其它人的重复,导致钱被其他人收走(不要嘲笑),下面我将介绍一下二维码以及它不重复的原因。

二维条码是用某种特定的几何图形按一定规律在平面(二维方向上)分布的、黑白相间的、记录数据符号信息的图形,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理,其可以分为堆叠式/行排式二维条码和矩阵式二维条码。堆叠式/行排式二维条码形态上是由多行短截的一维条码堆叠而成;矩阵式二维条码以矩阵的形式组成,在矩阵相应元素位置上用“点”和“空”的排列组成1和0代码。

对于二维码还有一点需要我们知道,它其实也是有自己的编制的,比如QRCode二维码(简称QR码),daatrix二维码(简称DM码),PDF417二维码,MaxiCode二维码,汉信码(汉信码是由我们国家自主研发的一种矩阵式二维条码,具有高强的汉字编码能力)等几十种编制格式,对于不同的编制它们是不能互相识别的,举个不恰当的例子:你用微信扫支付宝收款码是显示不出来界面的!!

对于重复性,以QR码为例,QR码的典型特征是黑白两色并存在3个角中,如下图

二维码最中间是空的怎么生成(这么多二维码不会重复吗)(1)

图片来源于网上[2]

QR码符号共有40种规格的矩阵(一般为黑白色),从21x21(版本1),到177x177(版本40),每一版本符号比前一版本每边增加几个模块并进行更复杂的布局。

这里便于理解,我们以第一版为例

二维码最中间是空的怎么生成(这么多二维码不会重复吗)(2)

图片来源于网上[3]

其中黄色的是存储数据的地区,我们可以计算得到有208(21×21 - 8*9*2-9*9 -8)个存储数据的数空间,那么第一版的QR码就能有2^208种类型!!!这个数字是什么概念呐?对于2^33,数目大约是85亿(比现在的地球人口还多),所以,二维码会重复吗?会,但基本不可能!!所以大家放心使用收款码,不用怕别人“偷”走你的钱钱!

参考资料:

二维码

图像中二维码的检测和定位

QR码生成原理(一)

by just_iu

,