二维码看起来是一堆杂乱的黑白方块,其实里面藏着精密的编码设计。看懂原理,就知道它为什么耐脏。
三个回字定位角
二维码的其中三个角有类似回字的方块,这是定位图案。扫描器靠它们判断方向、角度和位置,所以手机斜着扫、倒着扫都能识别。
黑方块等于1,白方块等于0
二维码本质是一张二进制表格,黑色模块代表数字1,白色代表0。信息先按规则转换成二进制,再排列成黑白图案。
纠错码:二维码的保险
二维码使用里德-所罗门纠错码,相当于给数据上了冗余保险。即使部分被遮挡、污损,扫描器也能靠纠错码把缺失信息补回来。
版本与容量
二维码有40个版本,从21×21到177×177模块。内容越多、纠错级别越高,版本越大、图案越密。中文一个汉字约占3字节,普通网址用低版本就能装下。
解码流程
手机拍摄、定位图案定位、网格映射、读取二进制、纠错、还原文本或网址,整个流程在一瞬间完成。