二维码最多能产生2.0526*10^354种组合。
二维码的黑白色块相当于计算机语言中的0和1,横竖各37点,除掉定位的三个角各有8个点长的边之外,一共有1177个点。也就是说二维码可以代表的信息是2的1177平方种,不考虑容错及中间加的各种图案或Logo的影响,结果是2.0526*10^354种。
二维码生成原理(即工作原理):
二维码的官方分类叫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 的正方形。
1、定位图案
Position Detection Pattern是定位图案,用于标记二维码的矩形大小。这三个定位图案有白边叫Separators for Postion Detection Patterns。之所以是三个而不是四个,意思就是三个就可以标识一个矩形了。
Timing Patterns(定位图形)也是用于定位的。原因是二维码有40种尺寸,尺寸过大了后需要有根标准线,不然扫描的时候可能会扫歪了。
Alignment Patterns(校准图形)只有Version 2以上(包括Version2)的二维码需要这个东西,同样是为了定位用的。
2、功能性数据
Format Information(格式信息)存在于所有的尺寸中,用于存放一些格式化数据的。
Version Information(版本信息)在 >= Version 7以上,需要预留两块3 x 6的区域存放一些版本信息。
3、纠错码
二维码中有四种级别的纠错,这就是为什么二维码有残缺还能扫出来,也就是为什么有人在二维码的中心位置加入图标。
错误修正容量:
L水平——7%的字码可被修正
M水平——15%的字码可被修正
Q水平——25%的字码可被修正
H水平——30%的字码可被修正