□ 严伯钧
二维码现在存在于我们生活中的方方面面,微信和QQ 加好友可以扫二维码,收付款可以用二维码,取电影票可以用二维码。但你知道二维码的原理是什么吗?为什么二维码只有三个角有小方块,而不是四个角都有小方块呢?当然,现在的二维码形态多种多样,未必都是方形,也有圆形的二维码,但它只要是二维的,其工作原理都是类似的。
其实不管是二维码,还是超市里商品上的条形码,它们的工作原理都跟你考试填的答题卡是类似的。电脑能够理解的信号都是二进制信号,也就是电脑只认识0 和1 两个信号。但是现实生活中的信息多种多样,我们要怎样让电脑只通过二进制信号,就能处理那么复杂的信息呢?这里就涉及二进制信号和其他信号的转换问题。首先要理解二进制,二进制就是“逢2 进1”。譬如1+1=2,但是在二进制的情况下,2 是不存在的,碰到2,就要进一位,这就好像我们平时用的数学是十进制,9 加1 就要进一位变成10,而二进制中,满2 就要进一位,2 用二进制信号表示就是“10”。记住,这里的“10”不是“十”,而是“1”和“0”,那么3 等于2+1,其实就是“10”+“1”就等于1 1。同样地,这里的“1 1”不是“十一”,而是“1”和“1”。再进一步,4 要怎么用二进制表示呢?4=3+1,那就是“1 1”+1 等于“1”和“2”,对吧?但是2 在二进制的情况下又是“10”,所以4 就是“20”,但是2 用二进制表示又是“10”,所以4 用二进制表示就是“100”,它不是“一百”,而是“1”和“0”和“0”。用这样一套方法,我们就可以把各种各样复杂的信号转换为二进制信号,让电脑读懂,并进行处理。
二维码其实就是把0 和1 的信号变成了小方格。在一个二维码当中,黑色的小方格代表1,白色的小方格代表0,手机一扫就知道一个二维码里面的0 跟1 是怎么排列的了,二维码本质上就是给你手机里的计算芯片一串0 和1 的信号,手机接收到信号以后就开始运算了。
二维码里有三个小方块是分布在三个角上的,这是帮助二维码进行定位的,不管你的手机是横着扫、竖着扫,还是斜着扫,它都知道二维码应该从哪个方向开始读。四个方块反而不行,因为这样的话,手机无法辨认出这个二维码从什么位置开始才是第一行。
其实在二维码出现之前,我们常用的是条形码,条形码传递信息的原理跟二维码是一样的,那为什么不直接用条形码而要更多地使用二维码呢?因为条形码的信息量有限,它只有一行,但是二维码有很多行,所以二维码传递的信息量更大。手机普及以后,网络世界的信息越来越丰富,我们的手机要处理的网络信息也越来越复杂,能够传递更大信息量的二维码,会更加贴合我们的数据需求,于是二维码就变得越来越主流了。