二维码纠错:L、M、Q、H 各自买到了什么
每个二维码都携带冗余数据,让扫描器能重建被弄脏、损坏、或被 Logo 故意覆盖的模块。 这份冗余分四个级别——选对级别,塑封膜划伤后码照样活着、Logo 放得进去码也不用变大; 选错了则相反。
四个级别
- L(低)——可恢复约 7% 的码字。同样内容下码最小。
- M(中)——约 15%。多数生成器的默认值,也是多数干净印刷的正确选择。
- Q(四分位)——约 25%。给挨折腾的码:户外、包装、纹理纸。
- H(高)——约 30%。中心 Logo 和码内像素画必需的余量。
背后的机制是 Reed–Solomon 编码——CD 和卫星通信用的同一套数学。百分比针对的是码字(数据字节), 与视觉面积大致但不完全对应:集中在一处的损伤比同等面积的分散损伤更致命。
纠错能修什么、不能修什么
- 能修:划痕、污渍、穿过数据区的折痕、盖住中间的 Logo、覆盖零散模块的图案、小的印刷瑕疵。
- 不能修:三个角定位方块的损伤(码根本不会被检测到)、被裁掉的静区、低对比度、模糊。任何级别都补偿不了印得太小。
多数人忽略的取舍
更高级别不是免费的:冗余就是额外数据,码需要更多模块。长网址从 L 跳到 H 可能把码从版本 4(33×33) 推到版本 6(41×41)——同样印刷尺寸下模块更小,这本身就伤扫描率。两个实际结论:
- 码上没有图案覆盖、又在室内干净纸面上——M 比 H 好。更大的模块对可靠性的贡献超过额外冗余。
- 内容长又必须用 H(包装码上放 Logo)——先缩短网址。省下的每个字符都在为你真正需要的冗余买单。
什么活儿配什么级别
- 屏幕展示、邮件签名 → L 或 M(像素完美的码不会受损)。
- 名片、传单、菜单(室内干净印刷) → M。
- 户外海报、橱窗、塑封卡片 → Q。
- 包装、牛皮纸/纹理纸、曲面 → Q 或 H。
- 任何码内含 Logo、图片或像素画的 → 永远 H。图案消耗的就是纠错预算,你需要从满额 30% 起步。(这也是 HonestQR 对像素画码强制 H 级并对每次渲染做机器校验的原因。)
H 级能"养"多大的 Logo?
中心 Logo 是一整块集中覆盖——对 Reed–Solomon 来说是最坏情况。即使 H 级,Logo 也最多占码面积的约 20%,给现实损伤留出叠加余量。好的生成器会强制这个限制; 我们的生成器还做实时解码检查,设计越界立刻可见。
实际操作
- 在免费生成器的高级选项里选 L/M/Q/H。
- 加 Logo 或像素画?生成器自动切到 H 并验证结果可解码。
- 印在困难材质上?手动选 Q/H,并打样试扫。
常见问题
纠错级别越高扫得越快吗?不——无损的 M 码和 H 码扫描速度一样。级别只在模块丢失时起作用。
印刷后能改级别吗?不能——级别编码在印出的码的格式信息里。要改只能重印。
动态码用哪个级别?选择相同——静态 vs. 动态关乎编码内容,不关乎保护方式。动态码编码的是短网址,用 H 的代价很低。
30% 损伤是保证吗?那是理想条件下、损伤分散时的上限。把 H 当"皮实",别当"不坏金身"——静区和定位角永远碰不得。