二维码是怎么生成的原理

紫醉金迷2022-07-09  27

谢谢!

大叔,从二元原理的角度来回答这个问题。

首先,答案是:二维码的数量是有限的,可以计算,但是按照现有技术是取之不尽的。

我们来仔细说说这个答案的由来。

二维码的基本概念通常,我们口中的二维码一般是指二维码,即支付宝、微信支付、火车票等通用的二维码格式。但是二维码有多种格式,包括数据矩阵、二维码、PDF417、Vericode、Ultracode等。不同的二维码格式在不同的领域有不同的应用。

二维码是一种编码方式,它比传统的条形码条码可以存储更多的信息,表示更多的数据类型:例如字符、数字、日文、中文等等。

二维码,从字面上看,是用两个维度(水平方向和垂直方向)对数据进行编码。条形码只是用一维(水平方向)来表示信息,在垂直方向上没有意义,所以二维码比条形码有更高的数据存储容量和组合可能性。

在一维条码的基础上,将多个条码叠加在一起进行编码。我们使用的矩阵二维码是指在一个矩阵空中用黑白方块来表示信息。黑色方块代表1,白色方块代表0,对应的组合代表一系列信息。常见的编码标准是二维码,在国内非常常用。

二维码原理。那么二维码是用什么魔法把人类可识别的内容(比如中文、网址等。)转换成机器可识别的二维码?上面提到的基本概念,在二维码中,黑色方块代表1,白色方块代表0。也就是计算机编程领域的二进制。首先我们来看看人类使用的语言是如何转换成二进制的(关于这个我写过一篇关于计算机编码的文章,有兴趣的朋友可以看看)。先看我从文章里抽出来的两张图:

如何将英文字符转换成二进制存储

如何将汉字转换成二进制存储

从上面两张图可以看出,人类能够识别的字符都是由一个字符集(ASII,Unicode)映射成十进制数,再由二进制转换成二进制。同样,二维码可以根据自己定义的编码规则和字符集,将这些字符转换成二进制,并用黑白方块存储二进制;

首先,二维码有40种大小。正式名称是版本版本。版本1是21×21的矩阵,版本2是25×25的矩阵,版本3是29的大小。每增加一个版本,4的大小就会增加。公式为:(V-1)*4+21(V为版本号)。最高版本是40,(40-1)*4+21 = 177,所以最高是177。即177*177个黑/白方块,一个方块可以代表一个0或一个1;

我们先来看看二维码的容量:

理论上40版在内容压缩后可以存储7089个数字,所以0~9的组合有10个7089种可能的组合;496个字母和数字的混合字符,则有1.27 (4296+2)个组合;253个8位字节数据和1817个汉字,则有10 (1817+5)种组合;

看二维码的数量:

那么,有多少个二维码呢?

版本:

版本1:有21*21个黑白方块,所以是2 (21 * 21),换算成科学计数法就是5.7e+132;

40版:黑白方块177*177,所以是2 (177 * 177),换算成科学计数法就是9.3e+9430;

所以通过对比40版二维码的容量和数量就可以知道:

每年,全球消费数百亿个二维码。暂时我觉得都是不同的二维码,也就是活码。其实很多应该是固定的,也就是所谓的静态码。根据所有活码,所有可能的组合都达不到现有二维码的总数,所以二维码的个数是有限的,可以计算,但根据现有技术不能用完;

转载请注明原文地址:https://juke.outofmemory.cn/read/658724.html

最新回复(0)