pg电子模拟器试玩在线早上出门扫一辆共享单车;中午吃饭查看电子菜单;晚上逛超市,结账时点开付款码;更别提登录各种网站、交换微信好友、乘坐公交地铁……二维码早已深深嵌入我们的日常。
也难怪有人会提出这样的担忧:“据说,全球每天消耗 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 码……每个型号的二维条码都像是个巨大的“宇宙”。
本文为澎湃号作者或机构在澎湃新闻上传并发布,仅代表该作者或机构观点,不代表澎湃新闻的观点或立场,澎湃新闻仅提供信息发布平台。申请澎湃号请用电脑访问。