二维码学习笔记——基础知识

二维码一共有40个版本,Version 121*21的矩阵,Version 225*25的矩阵,每增加一个version,长宽就增加 4,公式是:

 (V - 1) * 4 + 21;

最高版本是40,所以是177 x 177的正方形。 每个1x1都是一个小方块,黑色表示 1,白色表示 0。

二维码有很多部分组成,基本结构如下:

功能区域(Function Patterns)

Quiet Zone

空白区域

Position Detection Patterns

定位图案,用于标记二维码的矩形大小。这三个定位图案有白边叫Separators for Postion Detection Patterns。之所以三个而不是四个意思就是三个就可以标识一个矩形了。它是一个固定大小的回字

Separators for Position Detection Patterns

位置探测图案分隔符。将位置探测区域围起来的固定宽度 1 的白色“围栏”

Timing Patterns

定位条。是两根黑白相间的长条,每一根的头尾都是黑色。主要用来协助机器扫描的

Alignment Patterns

校正图形: 是比较小的回字,用于校正

alignment-patterns

不同的version拥有不同数量的校正图形,位置也是不一样
只有Version 2以上(包括Version2)的二维码需要这个

编码区(Encoding Region)

Format Information

格式信息。所有version的二维码都有,存放二维码的容错级别+数据掩码+二者的纠错码

Version Information

版本信息,version >=7才会绘制这个区域。需要预留两块3 x 6的区域存放一些版本信息。

Data and Error Correction Codewords

存储真正的数据,同时由于纠错码的存在,使得即使二维码污损了一部分也可以读取. 整个灰色区域都用来存放此部分数据。
二维码支持 4 种级别的纠错:

纠错级别 恢复能力
L Recovers 7% of data
M Recovers 15% of data
Q Recovers 25% of data
H Recovers 30% of data

纠错级别越高,恢复能力越强,代价是能存储的有效数据越少,因为纠错码的占比会越高。

参考文章:
https://coolshell.cn/articles/10590.html
https://hellogithub2014.github.io/2019/08/05/qr-code-theory/
https://blog.csdn.net/u012611878/article/details/53167009

你可能感兴趣的:(二维码学习笔记——基础知识)