1
00:00:00,000 --> 00:00:05,875
污点遮住一部分二维码，手机怎么还能读出原文？

2
00:00:05,875 --> 00:00:13,850
据二维码发明方 DENSO WAVE 官方公布的说明，它既不靠猜图，也不靠联网；

3
00:00:13,850 --> 00:00:18,250
而是靠编码时加入的纠错信息。

4
00:00:18,250 --> 00:00:23,375
二维码先把原文切成 8 bit（8比特）的数据码字；

5
00:00:23,375 --> 00:00:30,200
再用 Reed-Solomon 算法，即里德-所罗门纠错码，算出纠错码字。

6
00:00:30,200 --> 00:00:39,050
当少量码字被污染，扫码器联立剩余码字与纠错码字，就能反推恢复受损数据。

7
00:00:39,050 --> 00:00:41,675
但这有代价。

8
00:00:41,675 --> 00:00:49,550
官方列出 L、M、Q、H 四档，近似恢复总码字的 7%、15%、25%、30%。

9
00:00:49,550 --> 00:00:55,375
如官方 Q 级示例，总共 200 个码字可纠正 50 个；

10
00:00:55,375 --> 00:01:02,000
注意百分比针对总码字，绝非可遮住图片任意四分之一！

11
00:01:02,000 --> 00:01:10,925
因纠错等级越高冗余越多，选择时需在纠错能力、数据量和码的尺寸间取舍。

12
00:01:10,925 --> 00:01:17,200
可见二维码不怕脏，全靠用空间换安全的数学冗余。
