二维码如何工作

二维码把文本存储在由深浅模块组成的方形网格中,相机可以从任意角度读取。内置纠错让它能承受污渍、损坏,甚至中间的标志。

手机相机扫描海报上印刷方形码的抽象插图
手机相机扫描海报上印刷方形码的抽象插图

诞生于汽车工厂

二维码(Quick Response)由丰田集团旗下 Denso Wave 公司的原昌宏及其团队于 1994 年发明,用来比一维条码更快地追踪汽车零件。Denso Wave 拥有专利,但选择不行使,因此任何人都可以自由使用该格式。它成为国际标准 ISO/IEC 18004,并在手机相机能够识别后风靡全球。

二维码的结构

三个角上的大方块是定位图案,告诉扫码器二维码的位置和旋转方向。它们之间的点状定时线确定网格,从版本 2 起,较小的校正图案可补偿弯曲或倾斜的表面。定位图案旁的格式信息记录纠错等级和掩码。网格其余部分存放数据码字和纠错码字。

版本、容量与掩码

二维码共有 40 个版本,从 21 x 21 模块(版本 1)到 177 x 177 模块(版本 40),每级增加 4 个模块。版本 40 在 L 级下可容纳 2,953 字节。最后会应用八种掩码之一,以避免大块色区和类似定位图案的图形;编码器选择罚分最低的掩码。

纠错与扫描技巧

Reed-Solomon 纠错加入冗余,使受损的二维码可以修复:L 级可恢复约 7% 的码字,M 约 15%,Q 约 25%,H 约 30%。因此中间放一个小标志在 H 级下仍可使用。为了可靠扫描,请在四周保留四个模块宽的静区,使用浅色背景上对比强烈的深色码,打印宽度至少 2 厘米,并用几部手机测试。

常见问题

二维码会过期吗?

像这里生成的静态二维码永不过期:内容就存储在码本身中。只有付费服务的动态二维码指向跳转链接,取消服务后才会失效。

一个二维码能存多少内容?

在 L 级字节模式下最多 2,953 字节,约 2,900 个拉丁字符;每个字符占多个字节的文字则更少。中文每个字通常占 3 个字节。内容越短,二维码越小,越容易扫描。

可以在二维码里放标志吗?

可以,只要纠错等级足够高。在中心覆盖约 5% 面积的标志在 H 级下是安全的,H 级可恢复约 30% 的码字。切勿遮挡三个定位图案。

准备好尝试了吗?

在浏览器中打开 PictorX — 无需安装,无需信用卡即可启动。

打开二维码生成器