QR 码能装多少信息? - 黑白方块背后的秘密
便利店付款、坐地铁、加好友的微信。QR 码每天都在用,但你知道那个黑白方块里能装多少信息吗? 最多能放约 1,800 个汉字,相当于一篇短文的篇幅,全部压缩在那个小小的正方形里。
QR 码能容纳的数据量
| 数据类型 | 最大容量 | 通俗比喻 |
|---|---|---|
| 纯数字 | 7,089 位 | 约 640 个电话号码 |
| 英文数字 | 4,296 个字符 | 约 30 条 X (原 Twitter) 帖子 |
| 二进制 (8 位) | 2,953 字节 | 约 3 KB 的数据 |
| 汉字 (Shift_JIS) | 1,817 个字符 | 约 4.5 页稿纸 |
纯数字能放 7,089 位,但换成汉字就只有 1,817 个。正如字符数与字节数的区别中所说,汉字每个字符占用的数据量更大,所以能放的字数就少了。
QR 码的版本与尺寸
QR 码有"版本"之分,版本越高能存储的数据越多。
| 版本 | 模块数 | 数字最大容量 | 常见用途 |
|---|---|---|---|
| 1 (最小) | 21 x 21 | 41 位 | 短网址 |
| 5 | 37 x 37 | 154 位 | 普通网址 |
| 10 | 57 x 57 | 652 位 | 名片联系方式 |
| 20 | 97 x 97 | 2,061 位 | 长文本 |
| 40 (最大) | 177 x 177 | 7,089 位 | 大量数据 (几乎不用) |
版本 40 由 177 x 177 = 31,329 个黑白模块组成。但实际上几乎没人用版本 40。数据越多 QR 码越大越复杂,手机摄像头就越难识别。
日常 QR 码里装了什么
| 用途 | 包含的信息 | 数据量参考 |
|---|---|---|
| 微信/LINE 加好友 | 个人主页 URL (约 40 字符) | 约 40 字节 |
| 支付宝/微信支付 | 支付 URL + 令牌 | 约 100-200 字节 |
| 网站 URL | URL 字符串 | 约 30-100 字节 |
| Wi-Fi 连接信息 | SSID + 密码 + 加密方式 | 约 50-150 字节 |
| 名片 (vCard) | 姓名、电话、邮箱、地址 | 约 200-500 字节 |
| 登机牌 | 航班号、座位、旅客信息 | 约 100-300 字节 |
日常使用的 QR 码大多连最大容量的 10% 都没用到。加好友大约 40 字节,只占最大容量 2,953 字节的 1.4%。
QR 码的纠错功能
QR 码有个有趣的特点 - 即使部分被污损或遮挡也能正常读取。
| 纠错等级 | 可恢复比例 | 对数据容量的影响 | 适用场景 |
|---|---|---|---|
| L (低) | 约 7% | 容量最大 | 干净环境 (屏幕显示) |
| M (中) | 约 15% | 略有减少 | 一般印刷品 |
| Q (较高) | 约 25% | 明显减少 | 容易脏污的环境 |
| H (高) | 约 30% | 容量最小 | 带 Logo 的 QR 码 |
纠错等级 H 的 QR 码即使 30% 被遮挡也能读取。企业能在 QR 码中央放 Logo 就是靠这个机制。不过纠错越强,数据容量就越小,这是安全性与数据量之间的取舍。
QR 码与条形码的对比
| 项目 | 条形码 (一维) | QR 码 (二维) |
|---|---|---|
| 数据容量 | 最多约 20 位 | 最多 7,089 位 |
| 数据方向 | 仅横向 | 纵横双向 |
| 读取角度 | 仅正面 | 360 度任意角度 |
| 纠错功能 | 无 | 有 (最高 30%) |
| 中文支持 | 不支持 | 支持 |
条形码最多约 20 位,放个商品编码 (EAN-13 的 13 位) 就差不多了。QR 码能存储 350 倍的数据,还能放中文。QR 码 1994 年由日本电装 (DENSO WAVE) 发明时,能处理汉字就是重要的设计目标。
QR 码的安全风险
| 风险 | 手法 | 防范措施 |
|---|---|---|
| 伪造 QR 码 | 在真码上贴假码 | 注意不自然的贴纸 |
| 钓鱼攻击 | 将假网站 URL 做成 QR 码 | 扫描后确认 URL |
| 恶意软件 | 恶意应用的下载链接 | 不随意扫描陌生 QR 码 |
QR 码很方便,但有个弱点 - 看不到里面的内容。URL 写成文字还能发现可疑网站,QR 码扫描前完全不知道。和密码位数与安全性一样,便利性与安全性的平衡很重要。
QR 码和信息技术相关书籍可在 Amazon 上查找。