如今,二维码几乎成了生活的标配。

一天用掉 100 亿个!二维码会被用光吗?

早上出门扫一辆共享单车;中午吃饭查看电子菜单;晚上逛超市,结账时点开付款码;更别提登录各种网站、交换微信好友、乘坐公交地铁 二维码早已深深嵌入我们的日常。

也难怪有人会提出这样的担忧:" 据说,全球每天消耗 100 亿个二维码,所以二维码很快就会被用完。"

实际上,有关全球二维码的每日消耗数量,并没有官方数据

理论上讲,二维码的数量确实是有限的,而且出于安全考虑,几乎不会发生重复利用的情况。不过我们仍然可以放心,因为在可预见的未来,二维码被消耗殆尽的情况几乎不会发生。

在详细展开这个问题前,我们不妨先了解一下二维码的工作原理。

二维码又叫二维条码,它通过将多个几何图形按照一定顺序排列,来记录并存储信息。与通常只能在水平方向上存储信息的条形码不同,二维码可以在水平和垂直两个维度上存储信息,这也是它为什么叫 " 二维 " 的原因。

计算机的运行逻辑是 "0" 和 "1" 组成的比特流,二维码的运行原理同样基于此。

我们将二维码放大后便会发现,它其实是由多个小方块组成的。通常情况下,白色方块代表 "0",黑色方块代表 "1",不同方块一排列组合就实现了不同信息的存储。

虽说每张二维码长得都不一样,但它们却拥有一些相同的图案或相似的区域。本文将以日常生活中最常见的 QR 型二维码为例,向大家介绍。

观察我们日常生活中扫的那些码就会发现,每张二维码的左上角、左下角和右上角都有特别显眼的矩形。这三个大矩形叫 " 定位图案 ",能帮摄像头快速找到二维码。我们扫码的时候经常还没有完全对准,就 " 哔 " 地扫出了内容,靠的就是定位图案。

三个定位图案之间,有两条由黑、白方块依次交替排列组成的线。它们叫做 " 定时图案 ",可以让读取器有个谱,知道这张码尺寸大概有多大。

有些二维码内部还有些小矩形,它们叫做 " 校正图案 ",能够帮摄像头 " 拉平 " 印在非平面上的二维码。当然了,如果是印在绝对平面上,不要校正图案也没问题。

除了以上固定图案,二维码还有一些固定区域,比如用来确立边界的 " 空白区域 "、提示二维码属于哪种版本的 " 版本信息区域 ",和揭示容错空间等信息的 " 格式信息区域 "。

除去固定图案、区域后,剩下的广阔空间就是 " 信息存储区 " 了。我们已经知道二维码是通过将不同色块排列组合来存储信息的,那么想要回答 " 二维码会不会用尽 " 这个问题,就要先看看这些黑白色块一共有多少种排列组合方式。

以 25 ╳ 25 色块的二维码为例,除去固定图案、区域后,还剩 478 个方块。每个方块可以是黑、白两种颜色,所以总共有 2478 种组合。

宇宙诞生至今大概 137 亿年,我们假设人类在宇宙诞生后的每天都使用 100 亿个二维码,那么一共会用掉大约 5 ╳ 1022 个二维码,换算一下,只占 2478 种组合中很小的比例。

每增加一个版本,就比前一版本每边增加 4 个模块。公式是:(V-1)*4+21(V 是版本号)

况且,25 ╳ 25 色块的二维码只是众多版本之一。QR 型二维码总共有 40 个版本,最小版本是 21 ╳ 21 色块的矩阵,更大版本是 177 ╳ 177 色块的矩阵。以更大版本为例,它的色块排列组合几乎等于无穷大,所以我们根本无需担心二维码会有被用光的那天。

纵观历史,人类创造二维码就是为了获得用之不竭的存储容量。我们今天最常用的 QR 型二维码,是由日本工程师原昌宏设计出来的。

原昌宏供职于汽车零部件制造商电装公司。上个世纪末,电装公司用条形码来追踪产品运输流程。

但条形码的问题在于其数据存储能力有限,只能转化出 20 个数字。要想记录全部的生产和运输信息,一个产品最多需要贴上 10 张条形码,导致了效率低下和人力浪费。

那时,美国已经研发出二维条形码,不过原昌宏发现,当二维条形码周围有文字或其他图形时,读取很容易受到干扰。于是,他创造性地加入了定位图案等元素,大大加快了读取效率。这也是为什么二维码的英文叫 QR Code,即 Quick Response" 快速反应 "。

原昌宏说,有一次在火车上看车窗外的建筑,发现一户人家的窗框和其他家都不相同,格外显眼,由此想出了 " 定位图案 " 的设计 | 图源:Leeloo The First

QR 型二维码还有很多兄弟姐妹:比如没有定位图案的 DM 码、形状为长条形的 PDF417 码、由六边形组成的 maxicode 码 每个型号的二维条码都像是个巨大的 " 宇宙 "。

二维条码大家族 | 图源:Camcode

那么问题来了,你每天大概会用几张二维码呢?