[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f47wMIw3T4pgaIoH6Ls0b3wYlna_85iaF9ZRLvO0XrGE":3},{"item":4,"related":47},{"id":5,"type":6,"title":7,"slug":8,"summary":9,"body":10,"coverUrl":11,"productScreenshots":12,"productLinks":13,"authorName":14,"authorUrl":15,"authorSubject":16,"category":17,"tags":22,"sourceLabel":35,"sourceName":36,"sourceUrl":37,"status":38,"seoTitle":39,"seoDescription":40,"canonicalUrl":41,"isFeatured":42,"sno":43,"sortOrder":44,"publishedAt":45,"updatedAt":46,"createdAt":46},"8100557d-c909-40e7-9ecf-6ab5f0edd282","article","为什么二维码破了还能扫出来？二维码的纠错秘密","qr-code-error-correction-explained","二维码不仅能编码网址和数字，还加入了定位图案与纠错信息。本文解释二维码为什么能容忍污渍和破损，以及为什么能扫出来不代表链接一定安全。","二维码看起来只是许多黑白小方块，但它真正厉害的地方不只是能装下网址和数字，而是即使被污渍遮住、边角破损，扫描器仍有机会恢复原来的数据。这个能力来自二维码设计时加入的冗余信息，也就是纠错码。\n\n## 扫描器先要找到“方向”\n\n二维码并不是把数据随便铺在一个方格里。三个角上的定位图案帮助相机判断二维码的位置、大小和旋转角度；内部的时序图案帮助扫描器估算每个小方块的网格坐标。即使二维码被拍得有些歪，扫描器也能先把它拉回一个规则的平面，再读取数据。\n\n```mermaid\nflowchart TD\n    A[相机捕捉图像] --> B[找到三个定位图案]\n    B --> C[校正旋转与透视]\n    C --> D[读取黑白模块]\n    D --> E[使用纠错码恢复部分损坏]\n    E --> F[解析网址或文本]\n```\n\n## 纠错不是“无限修复”\n\n生成二维码时，可以选择不同的纠错等级。纠错等级越高，二维码里用于恢复数据的冗余越多，能够承受更大面积的污损；但代价是同样一段文字需要更多小方块，二维码可能变得更大、更密，也更难在小尺寸下扫描。\n\nDENSO WAVE 的说明把常见纠错等级分为 L、M、Q、H，理论上可恢复的码字比例逐步提高。这里的“可恢复比例”不是说遮住二维码面积的一定百分比就一定能读出来，因为损坏位置、分布方式、打印质量、对焦和透视都会影响结果。连续的一条划痕和分散的小污点，可能带来完全不同的结果。\n\n## 为什么二维码中心可以放 Logo\n\n很多支付码或品牌码会在中心放一个小图标，看起来像是把数据遮住了。它们通常依赖更高的纠错等级，让一部分模块被覆盖后仍能恢复。但这不是 Logo 越大越好：遮挡过多、对比度不足、周围留白被破坏，都会让识别失败。\n\n二维码四周的空白边也很重要，它帮助扫描器把二维码和背景分开。如果把二维码紧贴文字、图案或边框，哪怕黑白模块本身没有损坏，也可能让定位阶段失败。\n\n## 能扫出来，不等于内容安全\n\n纠错只负责“把编码的数据读出来”，不负责判断链接是否可信。二维码可能指向仿冒网站、诱导下载或付款页面。扫描前可以先查看域名和跳转提示，不要因为二维码来自熟人或贴在公共场所，就默认它安全。\n\n二维码的核心取舍很简单：更多冗余换来更强容错，更高容量带来更密的图案。它并不是魔法，而是在有限空间里用额外数据换取可靠读取的工程设计。\n\n来源：[DENSO WAVE：二维码版本与纠错](https:\u002F\u002Fwww.qrcode.com\u002Fen\u002Fabout\u002Fversion.html\u002FversionPage\u002Ferror_correction.html)","\u002Fuploads\u002F2026-09-12\u002F46fd6845-ccdf-41db-a5c7-4daf90c73dd7.jpg",[],[],"Foundit","https:\u002F\u002Ffoundit.cn","foundit-ai-editorial",{"id":18,"name":19,"slug":20,"description":21},"6179d3b6-dc34-4483-9ded-3cd9f1b37a47","科普","abbreviation","介绍各领域新兴概念",[23,27,31],{"id":24,"name":25,"slug":26},"7c76bfc2-f80f-4ee0-a95d-27bd8708b434","技术","slug",{"id":28,"name":29,"slug":30},"7da20200-5815-42a5-851a-bc8c1db554cb","应用","app",{"id":32,"name":33,"slug":34},"4c2bbea6-eab7-40a8-8447-1de478ff7749","分析","analyse","DENSO WAVE 二维码说明","QR Code Information Capacity and Error Correction","https:\u002F\u002Fwww.qrcode.com\u002Fen\u002Fabout\u002Fversion.html\u002FversionPage\u002Ferror_correction.html","published","二维码为什么破了还能扫：定位图案与纠错机制","从定位图案、数据容量和纠错等级解释二维码的容错原理，并提醒扫码成功不等于链接安全。",null,false,42,0,"2026-09-12T00:00:00.000Z","2026-09-12T04:45:41.285Z",[48,56,64],{"id":49,"type":6,"title":50,"slug":51,"summary":52,"coverUrl":53,"authorName":14,"sno":54,"publishedAt":45,"createdAt":55},"d759c4f9-5f20-411c-917a-1566681d239a","App 为什么总要申请定位权限？精确、模糊和后台定位","app-location-permissions-precise-approximate-background","定位权限不只是允许或拒绝，还包括精确程度、使用时间和是否允许后台访问。本文帮助普通用户判断不同 App 到底需要哪一种定位权限。","\u002Fuploads\u002F2026-09-12\u002F03e47360-587e-43af-91e1-fdae88fe85f8.jpg",46,"2026-09-12T04:45:44.921Z",{"id":57,"type":6,"title":58,"slug":59,"summary":60,"coverUrl":61,"authorName":14,"sno":62,"publishedAt":45,"createdAt":63},"ece32fc0-f61e-4696-bf85-2eca8dfa230e","六位数验证码为什么会自己变化？TOTP 的时间密码","totp-time-based-one-time-password","身份验证器里的验证码不是服务器不断发来的短信，而是手机和服务器根据共享秘密与当前时间独立计算出的短期密码。本文解释 TOTP 的工作方式和换机注意事项。","\u002Fuploads\u002F2026-09-12\u002F3f0420d9-5793-4424-a196-45646f779612.jpg",58,"2026-09-12T04:45:42.545Z",{"id":65,"type":6,"title":66,"slug":67,"summary":68,"coverUrl":69,"authorName":14,"sno":70,"publishedAt":45,"createdAt":71},"d8cd5ddb-84fe-406c-9e2d-49a74aa73aed","网站为什么越来越少让你拼图验证“我是人”","captcha-turnstile-how-human-verification-works","新一代人机验证会在浏览器后台运行挑战并生成短期令牌，再由网站服务器确认结果。本文解释它为什么减少交互、如何防止重放，以及它的误判边界。","\u002Fuploads\u002F2026-09-12\u002F6d69d6f0-e936-4c53-92e2-3412dd3fde18.jpg",44,"2026-09-12T04:45:49.580Z"]