第94期科技3分钟浏览 33
发布 · 杂学书库 别馆
二维码一侧撕破了,手机还能扫出来吗?
传单上的二维码皱了、脏了,还值得拿手机扫一下吗?
即使二维码一侧有些撕破或沾上污渍,手机也常常能扫出来。这是因为二维码从一开始就包含了用于恢复内容的冗余信息,以应对损坏的情况。
一开始就放进了备用信息
据发明二维码的日本公司电装波(DENSO WAVE)介绍,二维码里除了原本要存的内容,还一起放进了用来纠正错误的信息。它用的是音乐CD也在用的里德-所罗门码这种计算方法。二维码1994年为工厂而生,必须在沾了油污的单据上也能读出来,这正是它和一脏就读不出的条形码不同的地方。
制作时可以从四个等级里选择放多少备用信息:最低一级大约损坏7%还能恢复内容,最高一级大约损坏30%也能恢复。最常用的是约15%这一级。备用信息越多,图案就越大越密,所以容易弄脏的工厂建议用高等级,在干净环境里要存很多内容时则建议用低等级。
三个角上的方块要保护好
三个角上的大方块,是手机用来找到二维码位置和方向的标记。开发团队长时间研究了传单、杂志和纸箱上印的图案,用印刷品里几乎不会出现的黑白宽度比例1:1:3:1:1做成了这些方块。所以就算斜着扫,手机也能很快认出来。
因此,小污渍通常没关系,但如果这些方块被大面积挡住,就很难读出。遇到皱巴巴的二维码,先把纸抚平,让三个方块都完整出现在屏幕里再扫。
30%说的不是面积
很多人以为「只要破损不超过30%,哪里坏都行」,其实这个比例指的不是图案面积,而是把数据按8位一组分开后,能恢复其中多少组。同样大小的污渍,盖住哪些格子,结果也会不同。
四周的空白也很重要。电装波建议在四边留出四个小格宽、什么都不印的空白。如果把二维码紧贴在传单边缘,或者旁边紧挨着文字,就算图案完好也可能扫不出来。要贴在店门口这类容易被风吹雨淋的地方,最好提高等级,并留足空白。
相关阅读
二维码靠备用信息,部分受损也能读出;但三个角上的方块或四周空白被挡住,就很难读了。
整理与参考笔记 · DENSO WAVE QRcode.com. 参考了电装波QRcode.com的「Error Correction Feature」「History of QR Code」「Point for determining the code area」。实际能承受多少损坏,取决于制作时选的等级和损坏的位置。
小测验