正在加载文章...
分享这篇文章
继续阅读
餐馆点菜、扫码付款、连 WiFi、电子票签到都会用到二维码。它看起来只是一块黑白网格,实际包含定位、编码、纠错和图像识别规则。手机能在不同角度、不同光线下扫出结果,靠的不是运气,而是一套固定结构。
先看二维码里那些固定图形,再看数据和纠错码怎么放进去。
标准二维码包含几类固定结构。扫描器先识别这些结构,再读取数据区域。
二维码把文本转成字节,再按规则写进网格。
二维码能在局部污损后继续读取,主要依赖里德-所罗门编码(Reed-Solomon codes)。编码器会加入冗余数据,扫描器读取时用这些冗余数据修复缺失或错误的码字。
二维码有四个纠错等级:
纠错等级越高,冗余数据越多。同样的信息量需要更大的二维码。短网址可以用较低纠错等级做得很小;登机牌、票据或需要印刷在复杂材质上的码,通常会选择更高纠错等级。
一维条形码主要在横轴上存数据。二维码在横轴和纵轴上同时编码,因此同样面积下能存更多内容,也能加入纠错数据。
电装(Denso Wave)在 1994 年发明二维码,用于汽车零部件追踪。它后来进入消费场景,主要因为三件事:
二维码把定位图形、数据编码、掩膜和纠错放进一张小网格里。你扫码时,手机先找到位置和方向,再读取模块,最后用纠错码恢复数据。理解这套流程后,设计二维码时就会更注意留白、尺寸、纠错等级和印刷质量。