近年来,移动支付的普及,无论是支付宝、日常支付,还是公交地铁扫码,都让二维码成为人们生活中不可或缺的一部分。你真的知道我们每天用手机扫描的二维码吗?你有没有担心过自己的支付二维码会和别人的一样?哈,今天我就用一个简单的数学方法给你算算,看看二维码会不会重复。

二维码出现几十年了,发展迅速归功于它的属性:需要的识别设备简单,可以包含大量信息。如果你仔细观察二维码,你可能会发现二维码类似于一个马赛克。在正方形的画面上,黑白块交替分布。按照一个特定标准生成的二维码会有相同的两个吗?

目前常用的二维码有40种。最基本的版本1是21×21的矩阵,版本2是25×25的矩阵,更高的版本3是29×29的尺寸…诸如此类。每一个更高的版本都会比前一个版本每边增加4个维度。最高版本号为40,即177 x 177平方。不同的方阵包含不同的信息,那么每个版本可以生成多少个二维码呢?

版本1可以编码41个数字或25个字母的数据,最高版本号40可以编码7089个数字或4296个字母。目前我们普遍使用的是1版二维码,将这些数字组合成一个IP(不是计算机网络的IP,只是作为区分物品的识别码)。能有几个?

以其中一个版本为例。如果41位都是数字,就相当于所有的41位都排列好了,每一位可以选择0到9中的任意一个数字。以此计算,至少可以提供10 ^ 41≈134226593亿,除了一些类似的,至少可以提供130万亿个完全不同的二维码。这是什么概念?也就是说,全球有近80亿人,每个人可以获得15000个不重复的二维码。不是网上说的那样。其中数千万可能会重复。

以上只是基于一个版本二维码的理论计算,版本号为40的二维码所能承载的信息是天文数字。所以在实际使用中,二维码的数量远远小于理论计算的数量。所以不用担心和别人重复。不知各位读者是否认同?请在下面留下评论。

发表评论

后才能评论