二维码与古戈尔
2022-06-30黑马三
黑马三
提起二维码,想必大家都不会陌生.因为这种在移动设备上使用的编码方式,早已渗透到生产、生活的方方面面.据不完全统计,二维码作为一种全新的信息存储、传递和识别技术,目前广泛应用于公安、外交、军事、海关、税务、商业、交通、邮政等部门,在信息获取、网站跳转、广告推送、手机电商、防伪溯源、优惠促销、会员管理、账号管理等方面发挥着重要作用.
以微信为例,登录、支付、管理等操作都会生成大量二维码,每天如此,需要的二维码数目就非常巨大.因此,有人就担忧:二维码会被扫完吗?要回答这个问题,必须先从二维码的构造说起.
更高级的条码格式
所谓二维码,是指用某种特定的几何图形按一定规律在平面(二维方向)上分布的、黑白相间的、记录数据符号信息的图形.通俗来说,二维码的信息存储方式采用的是二进制,只不过0和1分别用黑和白来表示.这样我们就明白了用黑白方格组成的二维码的数学含义:使用若干个与二进制相对应的几何形体来表示文字的数值信息,可通过相关设备进行自动识读处理.
与一维的条形码相比,二维码除了具有编码范围广、纠错能力强、译码水平高、成本低廉、易于制作等特点外,最明显的优势在于编码高密度、信息容量大,生成数目几乎不受限制.
二维码目前共有40个官方版本,编号从 Version1~ Version40,其中 Version1是21×21矩阵,其次 Version2是25×25矩阵,Version3是29×29矩阵……每个版本都比前一个版本增加4,以此类推,Version40就是177×177矩阵.
以 Version4版本,即33×33矩阵为例,粗略地统计有1000个小方格.
将这1000个方格任意涂成黑、白色,每个方格都有黑、白2种涂法,那么1000个方格的涂法就有=21000 种,这就是理论意义上 Version4可生成的二维码数目.
考虑到在实际应用中,需要一些用于定位和冗余纠错的小方格,即便这些其他用途的编码所需的信息占据了50%的存储空间,即占用500个小方格,那么还有500个作为数据码.根据上面的计算方法可知,500个方格的涂法就有2500种,即 Version4最少可生成2500个不同的二维码.那么,这个数据究竟有多大呢?让我们先来了解一下最大的计数单位——“古戈尔”.
“最大”的计数单位
“古戈尔”表示的是10100,这个数是个现实界限,因为宇宙间任何一个实际量都不能超过它.
比如,地球的面积约为5.1亿平方千米,如果用平方毫米来表示,也只不过是5×1020平方毫米.地球的体积约为10830亿立方千米,如果我们用立方毫米来表示,那也只有1030立方毫米.1立方毫米相当于一根大头针的针头那么大,里面最多可容纳10粒细沙,那么整个地球的体积内,能容纳的细沙数为1031粒.这些数字显然远远小于“古戈尔”.
再比如,星际距离一般用光年来度量,1光年是光线1年通过的距离,约9460730472580千米.假定人类所能观测到的空间范围约200亿光年(1光年≈1019毫米),用最小的长度单位“埃”(1毫米=107埃)来表示,也只有1036埃.
了解了“古戈爾”,我们再来看2500,不难判断,2500=(25)100=32100远大于10100,大到你根本读不出来,只能用无休无止来形容.再以大家熟悉的手机微信付款码为例来说明:它是一个25×25的矩阵,除去用于定位和冗余纠错的方块,可供使用的方块有478个,可以构成2478个二维码.假设微信一年扫掉6000亿个二维码,那么用完25×25矩阵的二维码需要1.301×10132年,远远超过地球50亿年的寿命.因此,我们大可不必忧心二维码用完之时就是“世界末日”.