为了让我们更形象地了解,黄海平对信息“bcde”进行了QR编码(同时为了防泄露置入了密钥“a”,这是为了保护信息),这样经过编码,就出现了一个全部由0和1组成矩形的排列。由这个信息又生成了二维码。
至于数据信息到底在黑白相间的矩形中的什么位置,非专业人士是无法知晓的,“这都是后台的工作了,QR码有自动的规则,将信息安排在二维码相应的位置。”黄海平说。
和数据信息混在一起编入二维码的还有纠错码信息。这是因为当我们对二维码进行扫描时,不能保证扫的每一位信息都正确,这就需要依赖纠错码信息了。
此外,二维码中还藏着非常重要的校正图形。当二维码遭到污染或者破坏时,校正图形保证了没有被破坏的信息仍然可以被识别。也就是说,我们扫描读出的信息在二维码中备份了很多份。“即使二维码的损毁面积高达50%,信息仍然可以读取。”这也就是我们对着一个二维码扫描时,不需要只扫描整个图形,而只对着图形的某一个部分,就可能成功获取信息的原因。不信你可以试试!
说到这里,扫描二维码为什么能读取信息就好理解了。“在我们用光电扫描器或者手机智能终端的扫描软件进行扫描时,其实是一个解码的过程,解码恰恰是编码的逆过程。具体说来,是位置探测图形定位二维码的区域,根据二维码的编码格式信息和纠错码,对数据进行解读。如果编码时经过加密处理,解码时则需要加密时的密钥信息。”
也许你有个疑问,此前条形码在生活里也已经有诸多应用,比如超市货架上的东西都有条形码,二维码相比条形码有什么优点呢?黄海平说,条形码是一维的,而二维码是采用纵横向编码的,储存的信息量就大很多。有数据显示,最多可记录1850个大写字母,2710个数字或500多个汉字。另外,二维码的空间利用率高;二维码除了常见的OR码,还可以用其他码制进行编码。还有,前面说到的纠错能力和校正能力,以及加密功能,都是二维码的优势。
为什么扫二维码的一部分也能看到信息?那是因为校正图形藏在二维码中,具有多个数据信息备份,所以,我们扫描一部分二维码也能显示出全部的信息来。