卧槽!二维码要被扫完了吗?疫情期间竟用掉了1400亿个!
转自微信公号:涛哥聊Python
校园码、复学码、乘车码、
挪车码码码码码码码码码码码码码码码码码码码码码码码码码码……
如今,二维码作为移动支付、信息查询、身份识别等功能的载体,已被普及应用到老百姓的吃穿住行中。据《2020码上经济“战疫”报告》显示,光疫情期间,微信“码上经济”就用掉了 1400亿个二维码。
我们消耗的“码数”这么多,
会不会有一天所有二维码都被扫完,
人类再也无码可扫?
对此,微信相关技术人员给出的答案是:
会,但那需要非常久的时间。
据微信技术员介绍,二维码是Denso公司在1994年9月研制的一种矩阵二维码符号,其用某种特定的几何图形按一定规律来记录数据。现在的二维码有40个官方版本,从Version1到Version 40,最小的二维码为21*21矩阵,最大的为177*177矩阵。这意味着,二维码的尺寸是有限的,那生成的二维码数量也是有限的。
怎么计算一个矩阵可生成的二维码个数?为了方便理解,技术员用方块格子作为矩阵单位来举例说明。比如,一个四宫格,每个格子有两种颜色变化,那两个格子可以组合出4个图形,三个格子可以组合出8个图形,一个四宫格就可以组合出16个图形。以此类推,一个25*25矩阵的微信支付码,除去定位用的方块和冗余纠错的方块后,还剩下478 个方块,将可以生成2^478 个二维码。
也就是说,一个25X25规格尺寸的二维码可以生成:
780437137578998057845399307448291576437149535666242787714789239906342934704941405030076525765872992789956732780351655723861993919822071326572544个二维码。
(大家可以尝试念出来大概多少个?)
2478/6000亿=1.301×10132 年
(就是超多亿亿亿亿年)
既然这样, 那二维码咱中国人是不缺了, 但是万一世界上所有人都用, 那也就是:
1.301×10132 / 5 = 2.602 x 10131 年
(同样也是好多亿亿亿亿年)
那万一全宇宙都在用二维码呢?
2.602 x 10131 / 1.56x107 = 1.668x10124 年
(还是很多亿亿亿亿年)
看来,全宇宙都用上也不愁了。
只是,人类可观测宇宙有大约为93 × 109光年,所以离地球远点的星球,估计要等上好一阵才能扫到码了。