我是IT悟道,点击右上方“关注”,每天分享IT、科技、数码方面的干货。
一花一世界 一木一浮生
一草一天堂 一叶一如来
一砂一极乐 一方一净土
一笑一尘缘 一念一清净
二维码可融芸芸众生,以小见大,以无御有。我们一起聊聊二维码的形之小、用之大。
由黑白小方块组成的图案——二维码,似乎成为了我们生活的一部分。超市买菜要用它,聊天软件要用它,信息统计要用它,身份鉴别要用它,疫情防控要用它……,总而言之一句话,这二维码的黑白小方块究竟隐藏了哪些秘密?为什么随便一扫总能给你带来你所想要的东西。
二维码其实就是二进制代码组成的图像,没有什么神奇的。
二维码就是0和1的编码,黑快是1,白块是0。
二维码将我们能看懂的文字语言,以机器语言的形式存储了起来。其中黑色小方块代表的是1,白色小方块代表的是0,黑白相间的图案其实就是一串编码。
按照这个思路,小到一个字母,再到一串文字,大到一个图片,甚至一个视频,都可以放到二维码中。
再往大里说。若把二维码中的0、1看成阴阳,则“阴阳者,天地之道也,万物之纲纪,变化之父母,生杀之本始,神明之府也。”如果二维码如果无限长,无限宽,编码的容量是无穷的,则可容下宇宙万物。
扫码即解码。扫码的过程其实就是把这些编码(0和1构成)进行解码的过程,即把机器语言翻译成我们可以认读的语言形式。
扫描的本质
我们使用微信或扫一扫等工具,这些工具就是扫码器、二维码解码器。
扫码器扫码得到的往往是字符,其实扫码(解码)过程已经结束了。我们之所以看到了网页或者跳转到支付或加好友的界面,这全是扫码器的后续功能而已。
扫码结果最常见的就是一串文字,比如扫描二维码后,显示一个网页。其实质是:你扫描二维码后,扫描工具(微信等)获得一个字符串,比如“http://www.douyin.com”,因为字符串中含有“http://”,这是特定字符,扫描工具将自动调用浏览器来打开这个网页。
看个例子,使用“扫一扫”扫码“二维码收款”,得到的是以wxp开头的一串文字。扫码结束。
但是当我们用微信扫“二维码收款”时,得到的却是支付界面。这是因为是扫码器识别文字串后,根据字符串的特点进行了跳转。
信息获取(名片、地图、WIFI密码、资料)。
网站跳转(跳转到微博、手机网站、网站)。
广告推送(用户扫码,直接浏览商家推送的视频、音频广告)。
手机电商(用户扫码、手机直接购物下单)。
只有想不到,没有做不到。
后面的内容有点烧脑,懒得思考的小伙伴,可止步于此啦。
二维码又称QR Code,QR全称Quick Response,二维码最早源于日本。
促使二维码出现的最根本的东西其实是二进制算法,二进制就是将所有的东西都能用机器语言0和1表达出来。
二维码的技术本质就是编码算法。
编码
二维码编码就是将我们能看懂的文字语言,以机器语言的形式存储了起来。其中黑色小方块代表的是1,白色小方块代表的是0,黑白相间的图案其实就是一串由0和1组成的字符串。
解码
解码的过程就是翻译这些编码的过程,通过扫码来实现。
二维码角落有黑色和白色三个大方块,这主要是在起定位作用。三个点能确定一个面,这能保证我们在扫码时,不管二维码是正的扫还是倒着左右扫,都能被手机相机识别。
二维码还可纠错。就像大写的“壹贰叁肆”,就算你写错很多笔画,涂改,写的很潦草,写的纸张很模糊甚至被撕掉了一半,照样可以认出来。
去除表示间隔、标识定位和版本的区域,然后从左下开始,沿着红线的顺序黑还是白标识1和0,一直到右下角,形成一个可校验的01字符串,然后通过固定的编码规则翻译成固定的内容,再以黑白方块的方式表示为图像。