不知道从什么时候开始,我们的生活突然之间就充满了二维码——看网页要扫二维码,加好友要扫二维码,现在连楼下卖草莓的大爷都支持扫码支付了。
那么你有没有想过,这个长得很奇怪的东西,到底是怎么来的?二维码,到底是什么原理呢?
==================================================================
其实在我们介绍二维码的原理之前,你可能已经猜到了,二维码就是把信息翻译成黑白小方块,然后填到这个大方块里。
这有点类似于中学考试中用的答题卡,就是把信息变成机器可扫描的图案,一秒钟就能知道你得了多少分。当然,二维码的原理和答题卡还不太一样,这个我们稍后会讲到。
我们先来介绍二维码的哥哥——条形码,也就是超市收银员扫的那个黑白条。电脑在水平方向上识别粗细不均的黑白条,就能找出藏在其中的商品编号信息。
相比于只在一个维度上携带信息的条形码, “二维码”在水平、垂直两个维度上,都携带了信息,也就做成了这个方块状的样子。
条形码和二维码这一对好兄弟,说白了,其实就是给数字、字母、符号等这些字符,换了一身衣服,把它们打扮成了能被手机相机识别的黑白条或块。
那么,最关键的问题来了,这些字符,到底是怎么变成这种二维码图案的呢?
这就要提到一个人类具有划时代意义的伟大发明:二进制。
我们平时使用的数字、字母、汉字等各种字符,虽然画风完全不同,但是机智的人类,发明了一个方法,使它们都可以被统一转换成由0和1组成的二进制数字序列。
这个转换的过程叫做编码。国际上有几套通用的编码规则,我们今天就用一个例子来感受一下,编码是怎么回事(字幕QR码通用编码规则 ISO18004)。
比如AB这个由两个英文字母组成的字符。
根据编码规则,每一个独立的英文字母都有唯一一个十进制数字与之对应(画表)。
而像AB这样的字符串,则要在对应数字的基础上再做运算。,
而运算结果再转化成二进制,就是这一串数字。
哦对了,整个计算机和互联网文明,都是建立在这种二进制编码上的。你现在看的这个视频,在你的手机里,其实也只是一串0和1而已。
-====================================================-
我们回到二维码的生成原理上。字符在变成只有0和1组成的数字序列后,再进行一系列优化算法,就得到了最终的二进制编码。
在最后这串编码中,一个0对应的就是一个白色小方块,一个1对应的就是一个黑色小方块,我们把这些小方块,按照8个一组,填进大方块里,这就是一个完整的,可以被手机相机识别的二维码图案了。
囧知道 (二维码自动识别)
这就是二维码的基本原理。
如果你要问,为什么所有二维码都有这三个方块,其实这三个一模一样的方块,是用来给手机相机定位的。不信你就试着扫一下,是不是不管正著扫,倒著扫,还是斜著扫,扫出来的结果都是一样的?
囧知道 (二维码自动识别)
【囧知】科普:二维码是什么原理 – 腾讯视频https://v.qq.com/x/page/s03139rqfmp.html