本文目录
什么是二维码?
二维码(QR 码,即 Quick Response 码)是由电装波动公司(Denso Wave)于 1994 年发明的二维条形码。与在单一维度存储数据的传统条形码不同,二维码使用黑白方块矩阵在水平和垂直两个方向上编码信息,使其能存储多得多的数据——最多可达 7089 个数字字符或 4296 个字母数字字符。
二维码内置了使用里德-所罗门(Reed-Solomon)算法的纠错功能,这意味着即使部分受损或被遮挡,它们仍可被读取。这种容错能力,加上其高数据容量和快速可读性,使二维码在从产品包装到非接触式支付的方方面面无处不在。
二维码识别的工作原理
二维码识别器会分析图像,以定位并解码二维码图案。这一过程包含若干步骤,从检测定位图案到提取编码数据。
- 定位图案——位于三个角落的大方块帮助识别器定位二维码并确定其方向,无论其如何旋转或呈何种角度
- 格式与版本信息——编码于定位图案附近,用于告知识别器所使用的纠错级别和数据编码模式
- 数据模块——其余的黑白方块包含实际的编码数据,按特定的之字形(zigzag)顺序读取,并使用 jsQR 算法进行解码
免费试用 —— 无需注册
立即扫描二维码 →二维码的常见用途
由于其多用途和易用性,二维码在消费级和企业级应用中都已变得不可或缺。
- URL 分享与营销——海报、名片和包装上的二维码可直接链接到网站,减少输入长 URL 的需要
- 非接触式支付——Apple Pay 和 Google Pay 等移动支付系统使用二维码来完成快捷的销售点交易
- 身份验证与访问控制——双因素身份验证应用会扫描二维码来设置 TOTP 密钥,活动门票也使用二维码进行入场核验
常见问题
一个二维码能容纳多少数据?
单个二维码最多可存储 7089 个数字、4296 个字母数字字符或 2953 字节的二进制数据。实际容量取决于所选择的纠错级别——更高的纠错级别会降低数据容量,但能提升抗损坏能力。大多数实际使用的二维码存储的 URL 或短文本都远在这些限制之内。
受损的二维码还能被扫描吗?
可以。二维码使用四个级别的里德-所罗门纠错:L(7%)、M(15%)、Q(25%)和 H(30%)。这意味着采用 H 级纠错的二维码即使丢失多达 30% 的数据模块,仍能被正确解码。这正是二维码即便印在曲面上或部分被遮挡也能正常工作的原因。
二维码和传统条形码有什么区别?
传统条形码(如 UPC 或 EAN)在单一维度上通过不同宽度的线条存储数据,仅能容纳约 20 至 25 个字符。二维码则在二维空间中通过方块网格存储数据,可容纳数千个字符。二维码还内置纠错功能,并可从任意角度读取,因此扫描起来更快、更可靠。