二维码的秘密

来自专栏地理科学探讨4 人赞了文章

不知从什么时候起,我们的生活开始充斥著大大小小的二维码,添加好友需要二维码,移动支付需要二维码,网页链接需要二维码······这个神奇的黑白小框究竟隐含了哪些秘密,它又是实现它的功能的呢?

要认识二维码,首先要从一维码说起,一维码也就是条形码。相对于二维码,条形码其实更早地进入了人们的视野范围。条形码最早应用在工业管理领域,绿箭香口胶是第一个打上条形码的商品。这个简单而神奇的应用是美国人开了先河,美利坚民族的开创能力确实值得敬仰。 而中国则在1991年加入国际商品编码协会,在1992年开发第一套POS信息条形码采集系统,这标志著我国具备使用条形码的基础条件,而后随著大超市在中国的布局,条形码便进入了中国人的日常生活中。

每一个标准包装的商品,都有一个条形码。

这个条形码,说白了,就是商品编码。以上这个条形码表达的仅仅是它下面的数字6920152461010,而这一组数字代表的就是商品的编码,当然,这一组数字包含了产地国、生产商、产品编码等信息。你到超市购物,如果收银员扫描失败,那么她在键盘上敲入的也正是条形码下面的数字。

这组数字仅仅是商品编码,它并没有记录商品的价格。至于收银人员扫描后能够获取得到商品的价钱,那是因为扫描过条形码之后,商店货品管理系统定位到该商品,再反馈价格数据。

那么这一个条形码是如何表达商品编码 6920152461010 这组数字的呢?我们看到条形码是由一组规则的黑白条、空组成,不同粗细的「条」、「空」组合,便构成了不同的数字编码。我们来看一下「9」这个数字,它是由一个细「条」+一个「细」空+一个粗「条」 按顺在排在一起来表达。同样,其他的数字也是由类似的条空组合去构成。

总所周知,黑白是两个走在两个不同极端的颜色,白色能够反射各种波长的可见光,而黑色能够吸收各种波长的可见光。也就是说 黑色和白色对光线反射的强弱是有显著的差异的,条形码正式利用了黑白颜色对光波的吸收和反射显著差异的特点 条形码扫描仪则是一个可以发射可见光和接收其反射信号的仪器。在读取条形码的时候,它先向条形码发射一组可见光,这一组光照到条形码上,再反射给扫描仪上面的接收器,接收器根据其反射回来的光信号的强弱来识别条形码上的「条」、「空」信息:条形码上究竟有多少「条」和多少「空」、各个条空的顺序是如何排序的、以及各个条空的宽度。这些信息组合在一起,其实就是一组数字,计算机则通过扫描仪提供的信息,来解读条形码上面的数字编码,从而进行定位商品。

本文要写的是二维码,但我们花了很大的笔墨和揭露条形码原理,其实二维码原理和条形码原理是一样的,只是二维码在信息的储存量方面比条形码大得多,而且还具有纠错能力、识别率高等优势。可以说二维码是条形码的升级版,只有充分理解条形码的原理,才能更好的读懂二维码。

条形码是由不同粗细的条空组合来记录信息,通过「条」和「空」的长度去记录信息,仅仅从一个维度去记录,能够储存的信息是相当有限的。而二维码则是若干的黑白小方块去记录。不同的黑方块和白方块组合堆砌在一起,从而构成了一个编码序列。由于它从两个维度去记录信息,因而信息储存量更大。条形码是线性的,而二维码则是一个矩阵,显然不在一个二次元上。二维码的一个小框内所包含的信息,如果要用条形码来表示,可能条形码的长度需要去到两三米长,这显然是不现实的,这也是为什么在今天充斥著生活的是二维码而不是条形码,但并不是说条形码没有其他方面优势,条形码相对简单,从一个维度去识别,读取信息也更快,它在库存管理、商品信息采集、超市运营等方面还会有广泛的应用。

所有的二维码都不一样(尽管在你看来每个二维码长得都差不多,但是在计算机眼里,每一张脸都不一样),不过每个二维码都有一个共同点:就是左上、右上,和左下共有三个回字形方块,这三个回字形方块其实用来是识别用的,手机的摄像头其实相当于一个扫描仪,当它扫描到两个维度上距离相等的三个回形方块,便识别到这是一个二维码,从而解读这个二维码框内的信息。

只要手机能够扫描到这三个会形方块,它便能定位得到这是一个二维码,便会咬住不放进行解读,而不管你的二维码是正的,反的,歪的,斜的,不信你可以试著长按倒过来的山人红二维码,依然不会影响你关注公众号。

weixin.qq.com/r/Qkh9ZST (二维码自动识别)

二维码都会有纠错能力,也就是说二维码即便存在小范围的缺损,或者污损,并不会影响二维码的读取功能,但有三个地方是不能动的,那就是上面说到的三个回形方块。由于二维码通过二维空间去记录信息,信息储存量可以很大,因而它也预留了足够的空间去进行纠错。其实在这个二维码方框里面,同时存放了数据吗和纠错码,而纠错码就是给二维码纠错用的。通常来说,二维码的物理尺寸越大,它能够放得下的黑白小方块越多,也就包含更多的纠错码,它的纠错水平就越高。 也就是说同样一个微信名片,当你选择生成的二维码尺寸越大的时候,它在缺损的情况下能够被读出来的几率就越高。

关于二维码,你读懂了没有?

本专栏及山人红微信公众号将继续和你探讨GPS导航的秘密。卫星是怎样知道你的位置的?它是用望远镜盯著你吗?高德地图上的林志玲为什么能够那么清楚路线?百度地图为什么能够对堵车路段了如指掌? 请关注山人红微信公众号,与你一起解读哪些让人费解而又古怪的问题。


推荐阅读:
相关文章