谢邀活码微信二维码源码!
大叔从二进制原理的角度来回答这个问题。
首先答案是:二维码数量有限,并且可计算,但按现有技术是用不完的
下面就仔细讲讲这个答案的由来
二维码的基本概念通常我们口中的二维码一般是指QR Code,也就是支付宝、微信支付、火车票等通用的二维码格式。但是,二维码的格式可以说多种多样,包括Data Matrix、QR Code、PDF417、Vericode、Ultracode等,不同的二维码制式,在不同的领域有着不同的应用。
QR Code是一种编码方式,它比传统的 Bar Code 条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,日文,中文等等。
二维码,从字面上看就是用两个维度(水平方向和垂直方向)来进行数据的编码,条形码只利用了一个维度(水平方向)表示信息,在垂直方向没有任何表示意义,所以二维码比条形码有着更高的数据存储容量和组合可能。
二维码在一维条形码的基础上,将多个条形码堆积在一起进行编码。我们产用的矩阵式二维码是指在一个矩阵空间中通过黑色和白色的方块进行信息的表示,黑色的方块表示1,白色的方块表示0,相应的组合表示了一系列的信息,常见的编码标准有QR 码,在我国非常常用。
二维码编码原理那么二维码到底是通过什么魔力,将人类可以识别的内容(比如中文、网址等)转为机器能识别的二维码呢?前面讲到的基本概念中提到二维码中,黑色的方块表示1,白色的方块表示0。也就是计算机编程领域讲的二进制。我们首先来看人类日常使用的语言是怎么转换为二进制的(关于这个我有写一篇关于计算机编码的文章,有兴趣的朋友可以翻看)。先看我从文章中拉出来的两张图:
英文字符如何转换为二进制存储
汉字字符如何转换为二进制存储
从上面两个图可以看到,人类可识别的字符都是通过一种字符集(ASII、Unicode)将字符映射成十进制数字,然后通过二进制转换为二进制。同样,二维码可以根据自己定义的编码规则和字符集,将这些字符转换为二进制,并且利用黑白方块来存储二进制;
二维码的容量与数量首先,二维码一共有 40 种尺寸。官方叫法为版本 Version。Version 1 是 21 x 21 的矩阵,Version 2 是 25 x 25 的矩阵,Version 3 是 29 的尺寸,每增加一个 version,就会增加 4 的尺寸,公式是:(V-1)*4 21(V是版本号) 最高 Version 40,(40-1)*4 21 = 177,所以最高是 177 x 177 的正方形。也就是177*177个黑/白方块,一个方块可以表示一个0或者1;
我们首先看下二维码的容量:
理论上Version 40,在内容经过压缩处理后可以存7089个数字,那么0~9组合就有10^7089种可能的组合;4296 个字母和数字混合字符,那么就有1.27^(4296 2)种组合; 2953个8位字节数据,1817个汉字,那么就有10^(1817 5)种组合;
再看二维码数量:
那么,二维码数量有多少呢?
分版本:
Version 1 :有21*21个黑白方块,那么就是2^(21*21)个,转化成科学计数法就是5.7e 132个;
Version 40:有177*177个黑白方块,那么就是2^(177*177)个,转化成科学计数法就是9.3e 9430个;
所以对比一下Version 40的二维码容量和数量就可以知道:
全球每年消耗二维码上百亿,这里面我暂且认为全部是不同的二维码,也即是活码,其实这里面应该是有很多是固定的,就是所谓的静态码。全部按活码计算,各种可能的组合也达不到现有二维码的总数,所以二维码数量有限,并且可计算,但按现有技术是用不完的;
丙肝是什么病微信交流群,丙肝母婴贴吧
耳鸣微信交流群,全国耳鸣交流群
打呼噜微信交流群,怎么加入陌生微信群
「东莞车迷微信群」求个东莞的大众高尔夫微信群
「聋人微信和扣扣群」微信有聋哑人的群吗
「加入菏泽大型微信群」如何加入菏泽一中高三一部十八班微信群
「启动微信群名软件」微信群怎么设置不让别人改群名?
「微信红包群规则复制」微信红包群规章制度是什么样的?
「微信稀奇古怪总代群」我想在微信上卖稀奇古怪的玩意,一件代发的,不需要加盟费!有的留个
「微信群群主有哪些特权」微信群主有哪些特权?