姜一郎二维码的工作原理是什么?-历史百家
姜一郎
不知道从什么时候开始,我们的生活中充满了二维码。加好友扫一扫,下载文件扫一扫,进入小程序扫一扫,就连学校门口卖烤红薯的老大爷,三轮车上都贴了二维码,支持扫码付款。
那么,这些小格子组成的二维码,到底是怎样生成的?二维码,又是什么原理呢?
首先,举个栗子。
大家去超市结账的时候,收银员扫着商品的条形码,电脑在水平方向上识别粗细不均的黑白条,就能找出商品编号信息,比如价格,商品名称。
相比于条形码只在一个纬度上工作,二维码在水平和垂直两个纬度上都携带了信息,也就是做成了这个方块状的东西。条形码和二维码这对好兄弟,其实就是给数字、符号这类的信息换了一身衣服,把他们打扮成能给电脑识别的黑白条和方块。
这种方块是怎么变成能被电脑识别的图案的呢?
这就要提到一个人类具有划时代的发明了,那就是二进制。我们平时使用的数字和字母,还有汉字等各种字符,虽然画风完全不同,但是机智的人类发明了一种方法,使他们都能被统一转变为0和1组成的二进制数字序列,这个转化的过程叫做编码。
再举个栗子,编码是怎么回事。
国际上有几套通用的编码规则。比如AB,这个由两个英文字母组成的字符。根据编码规则,每一个独立的英文字母都有一个唯一的十进制数字与之对应,而想AB这样的字符串,则要在对应数字的基础上在做运算,而运算结果在转化成二进制,就是一串数字。在整个计算机和物联网文明都是建立在这种二进制编码上的。
我们回到二维码的生成原理上,字符在变成只有0和1组成的数字序列后,在进行一系列优化算法后,就得到了最终的二进制编码。在最后这串编码中,一个0对应的就是一个白色小方块,一个1对应的就是一个黑色的小方块。我们把这些小方块按照8个一组,填进大方块里,这就是一个完整的,可以被手机相机识别的二维码图案了。
为什么所有的二维码,都有三个小方块在边上?其实这个三个一模一样的小方块是用来给手机相机定位的,这样不管你的二维码是正的扫还是倒着左右扫,都能被手机相机识别,并且扫出来的结果都一样。