首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

每天都在扫一扫,但你知道二维码的原理是什么吗?

世界那么大,谢谢你来看我!!关注我你就是个网络、电脑、手机小达人

二维码这么火,它的原理是什么?

谈起二维码,我们很容易联想到条形码(一维码),没错,就是在超市买东西的时候每个商品后面的那个条形码。或者是你拿快递时,快递单上的码。

不论是二维码还是条形码,其目的,就是为了表示产品的信息(编号、图片、网站链接等),方便电脑识别,从而提高效率。

如果要让计算机识别,那么势必要使用计算机的语言:二进制。

生活中我们常用的是十进制,有0,1,2,3,4,5,6,7,8,9十个数,而二进制则只有0,1两个数。

(比如,二进制的110,就是十进制的 0*2^0+1*2^1+1*2^2=6 )

如果此时你细心地观察二维码,你会发现,它是由白块和黑块组成的。

看到这里可能已经发现了一点端倪,没错,白块表示的就是二进制的“0”,黑块就是“1”。

但是,很快我们就会有问题,表示数字可以,那么如果我们要表示字母怎么表示?

简单呀,每个字母有一个对应的数字就行了呀。

于是,ASCII代码产生了(American Standard Code for Information Interchange,美国信息交换标准代码)。本来它是美国的标准,后来被定为世界标准。

以下是部分ASCII代码:

还有其他的特殊符号比如 @、#、¥等也有自己的对应的二级制数字对应。

当然,二维码有很多种类,生活中常见的便是QRcode。

而QR码上,不同的区域,则表示着不同的信息。(如下图)

此处,并不是简单地直接将信息转换为前面ASCII码值,然后“0”和“1”对应黑块白块直接填到二维码中。

不同的编码方式,有着自己不同的规则。

例如:

一个QRcode下编码一段数字。

在数字模式下,(数字模式指示符符为0001)

1)分组:012 345 67 (每三个数字一组)

2)转成二进制:

4)字符的数量8个,8转化为二进制0000001000,(实际上是1000,前面为了满足格式而添加了0)

5)加入模式指示符)0001:

其他的区域,有关QR码版本、格式等信息,以类似的方式编码,然后填到了二维码中。(当然,不同种类的二维码,其编码方式,图形中的组合排列方式便不尽相同)

至于二维码中的位置探测图形,其实是为了让手机(或是其他扫描仪器)确定方位用的。扫描的仪器会自动地左上角,右上角,左下角的图案,从而自动地将二维码“摆正”。

这样的话,即使你倒着、侧着、或是斜着扫二维码,都能扫描成功。

综上,二维码,就是产品信息在通过各类编码后,通过特定的排列方式以“0”对应白块,“1”对应黑块展示出来的图形。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190829A0Q03400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券