工作原理
二维码是由黑白方块(模块)构成的二维网格,四角中的三个大方块是定位图案,让扫描器能够确定方向和缩放比例。数据使用 Reed-Solomon 纠错编码,附加冗余码字,使受损或被部分遮挡的符号依然可被解码。纠错分为四级:L 可恢复约 7% 的符号,M 约 15%,Q 约 25%,H 约 30%。级别越高冗余越多,相同载荷就需要更多模块,于是码更密、扫描时需要的空间也更大。
载荷本质上就是文本,而这段文本的格式赋予了二维码行为。普通网址会打开浏览器;以 WIFI: 开头并带上正确字段的字符串会加入某个网络;vCard 载荷在扫描时会添加一个联系人。联系人既有 MECARD 也有 vCard 两种格式,二者并非在所有扫描器上都能互换。字段值必须转义:Wi-Fi 密码或联系人姓名里的分号、逗号或反斜杠会提前终止字段,产生一个扫出来是乱码的二维码——因此本工具会自动转义,而不把这件事留给使用者。
容量是塑造其他所有决策的约束。二维码符号最大为 177×177 模块(版本 40),可承载的数据量取决于纠错级别和字符集:数字最紧凑,然后是字母数字,再是字节,最后是汉字。实践中约 100 个字符的网址在 M 级下可以轻松容纳,而 500 个字符的载荷会产生一个非常密集的码,手机摄像头在屏幕或打印标签上很难分辨。短一点总是更好,长链接用短链服务往往才是正确答案。
扫描可靠性既是物理问题也是数字问题。静默区——符号周围的空白边距,规范要求为四个模块宽——是标准强制要求的,也是设计糟糕的海报最先去掉的东西。对比度比颜色更重要:深色模块配浅色背景扫描最可靠,而反色二维码在部分扫描器上可用、在另一些上不可用。把 Logo 放在中心会覆盖模块,因此只应在 Q 或 H 级使用,且 Logo 宽度不应超过整体的四分之一。
常见应用场景
- 把 Wi-Fi 账号印在卡片上,让访客无需手输密码即可接入。
- 为会议胸牌或名片生成联系人二维码。
- 为餐厅菜单、商品页或应用下载链接生成二维码。
- 把位置或带起止时间的日程编码进海报。
- 先解码截图中的二维码,确认它到底指向哪里再决定是否扫描。
- 生成 SVG 格式的二维码用于大尺寸印刷,避免位图放大后的锯齿。
最后更新: 2026-10-14