
什么是二维码?
二维码(Quick Response code)是一种二维条码,将数据编码为黑白方格矩阵。最初由Denso Wave于1994年为追踪汽车零部件而开发,在智能手机内置摄像头扫描功能普及后,二维码变得无处不在。如今,它们出现在餐厅菜单、产品包装、名片、活动门票和全球支付终端上。
与仅存储约20个数字字符的一维条码不同,单个二维码可容纳多达4,296个字母数字字符或7,089个数字字符——足以存储完整URL、vCard联系人或WiFi密码。

二维码结构详解
寻像图形
角落的三个方形图案让扫描器检测到代码的位置和方向。即使代码被旋转、倾斜或以一定角度拍摄,寻像图形也能让解码器重新定位并正确读取。
时序图形
在寻像图形之间交替排列的黑白模块建立了一个坐标网格。它们让解码器计算模块大小并处理任何畸变。
数据模块
二维码的主体部分。使用Reed-Solomon纠错编码,这意味着数据具有冗余性——部分损坏或遮挡的代码仍可被读取。
空白区
代码周围的空白边框。如果没有足够的空白区,扫描器可能无法检测到边界。标准要求是四周各留4个模块的白色空间。

纠错级别
二维码内置冗余,使其能够承受物理损坏、污垢或设计覆盖:
| 级别 | 可恢复 | 典型用途 |
|---|---|---|
| L(低) | ~7% 损坏 | 清洁的数字显示屏 |
| M(中) | ~15% 损坏 | 大多数一般用途 |
| Q(四分位) | ~25% 损坏 | 工业环境 |
| H(高) | ~30% 损坏 | 徽标覆盖、印刷材料 |
更高的纠错级别会增加代码的密度(更多模块 = 更大或更密集的代码)。对于大多数URL,M级别在扫描可靠性和代码大小之间提供了良好的平衡。
二维码可以存储哪些数据?
URL
最常见的用例。编码任何HTTPS URL。保持URL简短——较短的URL产生密度较低的代码,在小尺寸下扫描更可靠。
https://myutl.com/json-format
纯文本
编码无需互联网即可读取的说明、地址或备注。
WiFi凭证
一种特殊格式,让手机无需输入密码即可加入网络:
WIFI:T:WPA;S:MyNetworkName;P:MyPassword;;
使用iOS 11+或Android 10+扫描即可立即连接。无需应用。

联系人信息(vCard)
标准化的vCard二维码让人们通过一次扫描即可添加您的联系信息:
BEGIN:VCARD
VERSION:3.0
N:Smith;John;;;
FN:John Smith
ORG:Acme Inc.
TEL:+1-555-0100
EMAIL:john@example.com
END:VCARD
电子邮件和短信
预填电子邮件或短信,实现一键操作:
mailto:support@example.com?subject=Help%20Request
sms:+15550100?body=Hello
打印最佳实践
最小尺寸:对于从手臂长度扫描的代码,至少2厘米×2厘米。对于广告牌或从更远距离扫描的代码,需要更大尺寸。
颜色对比:深色模块在浅色背景上。避免低对比度的颜色组合。扫描器要求至少4:1的对比度。
打印前测试:以实际尺寸打印测试副本,并用多个设备扫描,然后再发送给打印机。
避免在空白区内放置文本:周围文本不得侵入4模块的边框。
使用H级纠错并添加徽标:如果在二维码中心嵌入徽标或图标,徽标会覆盖部分模块。高纠错级别可以补偿。
数字使用最佳实践
在屏幕上,二维码通常显示供人们用手机扫描。考虑因素与打印不同:
- 显示屏的亮度和眩光可能使扫描困难——提供足够的对比度设置
- 代码后面的动画或过渡会干扰扫描;保持背景静态
- 在小手机屏幕上,全宽显示二维码或提供“保存图像”选项
二维码与条码:何时使用哪种
| 特性 | 二维码 | 一维条码 |
|---|---|---|
| 数据容量 | 最多4,296个字符 | ~20个字符 |
| 扫描方向 | 任意角度 | 必须对齐 |
| 损坏容限 | 是(纠错) | 否 |
| 常见用途 | URL、支付、菜单 | 零售产品、物流 |
| 需要应用 | 否(现代手机) | 有时 |
对于零售产品,如果扫描器基础设施已预期使用一维条码,则使用标准一维条码。对于其他所有情况——尤其是面向消费者的内容,用户自带手机——使用二维码。
即时生成二维码
→ 使用二维码生成器为任何URL或文本创建二维码,可自定义前景色和背景色。
→ 对于WiFi网络,WiFi二维码生成器可创建格式正确的WiFi二维码,适用于iOS和Android原生相机应用。