二维码和条形码到底有什么区别
它们看起来像同一个东西的两个版本,其实不是。条形码和二维码解决的是不同的问题,选错了要么容量不够用,要么为用不上的复杂度买单。
结构上的区别
条形码是一维的:一排宽度不等的条纹,编码一串数字或字符。读取器沿一条线扫过去。因为只有一个维度的变化,容量很小——标准 UPC 零售码只装 12 位数字,能力更强的 Code 128 也就几十个字符。
二维码是二维的:一个模块组成的方格,信息在水平和垂直两个方向上同时编码。这多出来的一维不是小改进,它把容量从几十个字符拉到几千字节。一个二维码能装下完整网址、一段文字、联系人信息,或者 Wi-Fi 凭据。
实际后果是:条形码用来标识一个东西,二维码用来传递信息。
各自用在哪
| 条形码 | 二维码 | |
|---|---|---|
| 典型内容 | 商品编号、SKU | 网址、文本、名片 |
| 容量 | 约 12–48 字符 | 最高约 3000 字节 |
| 读取方式 | 激光扫描枪,直线 | 摄像头,任意角度 |
| 单个成本 | 几分之一分钱 | 几分之一分钱 |
| 抗损能力 | 低——一道划痕就废 | 可配置,最高 30% |
| 最适合 | 零售结账、库存、标签 | 营销、支付、菜单、Wi-Fi |
读取方式的影响比多数人以为的更大。 条形码需要扫描枪和清晰的视线;二维码只需要一个摄像头,而每个人的手机十年前就有了。这就是二维码从日本汽车行业的库存工具,变成印在餐厅桌上的东西的全部原因。
静态码和动态码
误会最多、也最容易把人锁死的地方在这里。
静态二维码直接把最终目的地编码进去。纸上印的图案就是那个网址。它永久有效、不依赖任何服务、也无法修改——网址死了,码就死了。
动态二维码编码的是一个由服务商控制的短跳转。扫码会先到服务商服务器,再转发到真正的目的地。好处是印出来之后还能改指向,并且能拿到扫码统计。
代价是真实的,而且常被刻意淡化:
- 你是在租这个码,不是拥有它。 停止付费、或者服务商倒闭,所有已印出的码全部失效。
- 扫码依赖服务商的服务器在线。
- 扫码者的请求会被第三方记录——面向客户的东西,这是隐私问题。
印在永久性物理材料上的码——招牌、包装、铭牌——用指向你自己域名的静态码才是耐久的做法。动态码适合你预期会变更的营销活动。
二维码会过期吗
静态二维码永不过期。 它就是一堆像素图案,没有服务器参与,也就没有东西会过期。如果它失效了,是因为目标网址挂了。
动态二维码随服务一起过期。 可能是订阅到期、免费额度用尽,或者公司没了。很多“免费二维码”服务默认生成动态码,然后对“永久有效”另行收费——在你印一万张之前,这一点值得先确认。
纠错:为什么破损的二维码还能扫出来
二维码内置四个等级的纠错,大约分别对应码内数据的 7%、15%、25%、30%。等级越高,能扛住的破损或遮挡越多,代价是图案更密。
H 级(30%)就是你能在二维码正中间放个 Logo 还照样扫得出来的原因。 对于印在会被磨损的表面的码——设备上的标签、贴纸——用更高等级是很便宜的保险。
怎么生成
两种格式都很容易做,都不需要账号:
两个都完全在你的浏览器里运行。这件事比听起来重要:一个编码了内网 Wi-Fi 密码或私有链接的二维码,是你大概率不想放进别人请求日志里的信息。逻辑和在线文件转换工具安全吗里说的一样。
要检查一个不是你自己做的码,用二维码读取工具在本地解码图片。
没人提醒你的安全问题
二维码是一个你在点开之前读不出来的链接。 这是它的设计本身——信息是给机器读的,不是给人读的。
由此产生了一个专门的钓鱼类别。一张贴在正规餐厅或停车缴费二维码上的贴纸,会把你导向一个看起来没问题、实际上有问题的支付页。一封“扫码验证您的账户”的邮件,把受害者带到窃取凭据的页面。没有悬停预览、没有状态栏里的网址、没有任何办法看到它通向哪里。
几个实用习惯:
- 点开之前先预览。 多数手机摄像头会在你点击前显示解码出的网址。读它。 这是最有效的一条防御。
- 对邮件里的码和来路不明的贴纸保持怀疑。 物理表面的码会被覆盖;消息里的数字码替换起来毫无成本。
- 任何要求你登录的码,一律不扫。 尤其是主动送上门的那种。
- 看域名,别看品牌。 一个页面长得像某家知名支付机构,不构成它就是那家机构的证据。
常见问题
二维码能装的数据比条形码多吗? 多好几个数量级。零售条形码大约 12 位数字,二维码能装约 3000 字节——够放一条长网址或几段文字。
二维码会过期吗? 静态码永不过期,图案直接编码了目的地。动态码随重定向它的服务一起过期,这也是印好的码突然失效最常见的原因。
商品标签用哪个? 要走零售或库存扫描枪的,用条形码。如果你想顺便给顾客一个链接,就在旁边再放一个二维码——两者是互补的,不是竞争关系。
为什么中间有 Logo 的二维码还能扫? 靠纠错。在 H 级下,最多 30% 的码可以被遮挡或损坏,数据仍能从冗余中恢复。Logo 吃掉的就是这部分余量。
扫二维码安全吗? 格式是安全的,目的地不一定。永远先看你手机摄像头预览出的网址再打开,并且把邮件里和来路不明的物理贴纸上的码当作可疑对象。