贴在门口的码磨掉一角,手机照样读得出;有时只是印得淡了点,却怎么也扫不上。差别不在手机,而在生成时留了多少余量。二维码能容忍局部污损,靠的是编码阶段就写进去的纠错冗余,不是扫码时补出来的图像。弄清哪些格子丢得起,贴码和排查就有数。
国家标准 GB/T 18284《快速响应矩阵码》规定了二维码的符号结构与纠错等级。它把内容转成深浅两色小方格组成的方阵,两色对应二进制的两种状态,读码就是把方格还原回数据。三个角上像「回」字的方块是位置探测图形,帮设备定出范围、方向和倾斜角度;时序图形、对齐图形用来定坐标、矫正形变;四周还要留一圈空白。它更像按规则填的表格,涂掉哪一块后果不同。
生成时,原始内容被切成数据块,按纠错编码算法另算出一批冗余码字,一起写进格子。读取时若有格子被污损、遮挡,解码程序能靠冗余把缺失内容反推回来,跟传输出错要校验修复同理。标准把纠错能力由低到高分档,档位越高越经得起脏污,代价是码面更密、本质是用可存容量换抗损能力。冗余生成时就定好,多试几次也不会变多。
位置探测图形、时序图形负责「先把网格建起来」,不属于能靠纠错找回的数据块。三个角只要有一个被裁掉或糊住,设备连边界和每格大小都定不出来,冗余再多也用不上。那圈空白让程序把图案与背景分开,贴纸压到边、排版裁紧都容易出事。反过来,中间贴个不大的标识通常没事,被盖住的格子还能补回来;边角被剪掉一块反而常读不出,和直觉正好相反。
自己打印或张贴,把尺寸留够、四周留完整空白,深色码配浅色底保证对比,避免反光和把图案拉长压扁。长期放户外的,生成时选高一档纠错等级并做护膜;要叠标识就放中间、控制面积,避开三个角与边缘。海报、单据上最好在码旁留一行文字兜底。扫不出来时,先擦净表面、避开反光,把整个码连同空白放进画面,再确认没被拉伸;反复不行就改用旁边的文字,别自己描补缺角。
误区一是把容错当成扫码软件的本事。有人以为缺的那块是手机补上的,其实生成时就写进了码里;这跟晒图打码防还原是两回事。
误区二是觉得容错没有上限。冗余用尽就读不出,别把「能纠错的比例」当成「可以遮住多大面积」;三个定位图形和四周空白都不在可纠错范围内。
误区三是只盯缺角,忽略读码条件。对比度不够、底色太接近、表面反光、非等比拉伸、印得太小导致格子粘连,都属于采样失败,不是纠错能救的;中间贴了小标识不必急着撕,先看光线和清晰度。
一句话说到底:二维码靠生成时预留的冗余容忍局部破损,但三个定位图形和四周留白必须完好,贴码时留够尺寸、护住边角、保住对比,比事后反复对着扫管用得多。
下一篇:没有了