进入互联网 2026 年,二维码(QR Code)和条形码(Barcode)已经渗透到商业运营的方方面面——扫码支付、物流追踪、商品管理、活动签到无处不在。对开发者来说,生成和解析这些码并不难,但如果不理解底层技术标准,就容易在印刷尺寸不对、无法被特定扫码枪识别、或生成的二维码抗损能力不够等问题上踩坑。
本文将系统性地梳理一维码和二维码的核心标准,帮你理解什么场景该选什么编码格式、如何设置纠错等级,以及如何通过 illi.io 的高清码生成工具 生成满足工业级扫码要求的矢量素材。
1. 一维码标准:Code 128 与 EAN-13 的适用场景

虽然二维码在消费场景日益普及,但在零售、仓储和物流领域,一维条形码仍然不可替代。理解不同标准的适用范围,是避免「扫不出来」问题的第一步。
EAN-13:全球零售商品的通用语言
EAN-13 是国际物品编码协会(GS1)制定的标准商品条码,严格遵循 13 位数字规范。全球超过 150 个国家的零售系统都以它作为商品识别的基础设施。
- 结构:前 3 位为国家/地区代码(如 690-699 代表中国),接下来是厂商代码和商品代码,最后一位是校验位
- 典型场景:超市商品、书籍(ISBN 可转为 EAN-13)、药品包装
- 注意事项:EAN-13 只能编码数字,无法包含字母或特殊字符
Code 128:仓储物流的首选方案
Code 128 支持全 ASCII 字符集(包括字母、数字和特殊符号),信息密度极高,是仓储管理、运输标签和资产追踪的首选格式。
- 三种子集:Code 128A(大写+控制字符)、128B(大写+小写)、128C(纯数字对,密度最高)
- 优势:同样长度下能编码更多信息,且支持可变长度数据
- 典型场景:快递面单、工厂产线追踪、医疗样本标签
实战建议: 设计标签时请预留足够的静区(Quiet Zone)——条码两端各至少 10 倍最窄条宽的空白区域,否则扫码枪可能无法捕捉起始符,导致识别失败。使用 illi.io 条形码生成器 默认会自动包含标准静区。
2. 二维码纠错等级(ECC):不是越高越好

很多开发者在调用 QR 码生成库时,常忽略「纠错等级」(Error Correction Level)这个关键参数。QR Code 标准定义了四个纠错等级,它们直接决定了二维码在受损时的容错能力。
| 等级 | 容错率 | 适用场景 | 模块密度 |
| L (Low) | 约 7% | 屏幕显示、短期使用的码 | 最低 |
| M (Medium) | 约 15% | 通用推荐,平衡可靠性与扫描速度 | 中等 |
| Q (Quartile) | 约 25% | 户外使用、可能有轻微磨损的码 | 较高 |
| H (High) | 约 30% | 工业标签、需要叠加 Logo 的码 | 最高 |
为什么不建议默认用 H 级? 虽然 H 级容错最高,但它会显著增加二维码的复杂度(模块密度)。在内容较多时(如长 URL),H 级可能导致模块过小,普通移动设备在光线不佳时反而扫描困难。对于一般营销场景,推荐使用 M 级 (15%),在识别速度和可靠性之间达到最佳平衡。
如果你需要在二维码中央嵌入 Logo,那么必须选择 Q 或 H 级,并确保 Logo 面积不超过二维码总面积的 25%。在 illi.io 二维码生成器 中可以直接选择纠错等级。
3. 安全性考量:警惕 QRLJacking 攻击

二维码在给用户带来便利的同时,也引入了新的攻击面。以下是开发者和运营者需要注意的安全风险:
QRLJacking(二维码登录劫持)
攻击者替换合法二维码(如 Wi-Fi 登录码、支付码),将用户引导到钓鱼页面或恶意网站。这种攻击在公共场所(咖啡店、地铁站)尤其常见。
- 防御措施:确保编码的 URL 包含足够的 CSRF 校验令牌
- 避免:直接在二维码中嵌入敏感凭据(如 API Key)
- 推荐:使用带前缀签名的 URL 方案,确保即使二维码被截获,攻击者也无法篡改目标地址
数据泄露风险
静态二维码一旦生成就无法修改内容。如果将内部系统的 URL(如管理后台地址)编码在二维码中,任何获取到该二维码的人都可以访问。对于敏感链接,建议使用 活码(Dynamic QR),这样可以随时修改目标地址,或在发现安全问题时立即禁用。
4. 生成高质量码:矢量格式与 SEO 最佳实践
为什么推荐 SVG 格式?
在建设落地页时,图片的加载速度和清晰度同样重要。相比 PNG 位图,SVG 矢量格式有以下优势:
- 文件体积小:通常小于 2KB,不会影响页面加载速度
- 无限缩放:在任何尺寸下都能保持边缘清晰锐利
- 利于 SEO:轻量级资源有助于提升 Core Web Vitals 评分
- 打印友好:无论输出到名片还是海报,都不会出现像素化
生成实践
使用 illi.io 二维码生成器 时,可以直接选择 SVG 输出格式,同时自定义颜色、纠错等级和嵌入 Logo。生成的矢量文件可以直接用于网页、印刷物料和 App 界面。
对于条形码,同样推荐使用 SVG 格式。illi.io 条形码生成器 支持 Code 128、EAN-13、UPC-A 等主流格式的矢量输出。
5. 选择对比:一维码 vs 二维码,什么时候用哪个?
| 对比维度 | 一维条形码 | 二维码(QR Code) |
| 数据容量 | 最多约 80 个字符 | 最多约 4,296 个字符 |
| 数据类型 | 仅数字或有限字符 | URL、文本、联系人、Wi-Fi 等 |
| 扫描方向 | 仅水平方向 | 任意角度 |
| 纠错能力 | 无内置纠错 | 7%~30% 纠错 |
| 适用设备 | 专用扫码枪 | 任意智能手机 |
| 典型场景 | 零售、仓储、物流 | 营销、支付、信息传递 |
经验法则:如果内容是纯数字编号且目标设备是专用扫码枪,用一维码;如果需要编码 URL 或面向手机用户,用二维码。如果需要印刷后还能修改目标链接,用活码。
探索更多 illi.io 推出的专业码生成与解码工具,提升你的业务效率。