二维码是如何设计出来的?

前沿科技 2年前 (2022) 虚像
4 0 0

作者 | Dan Hollick

译者 | 弯月

QR 码(Quick Response Code,快速响应矩阵图码)是二维码的一种,于 1994 年由日本汽车零组件大厂电装公司的原昌宏所发明,用于在制造过程中跟踪零件。

在日常生活中,条形码的使用也很常见,但它们有一定的局限性:只能以特定的角度读取,并且存储的数据量非常有限。

而 QR 码解决了这些问题。

QR 码最大的特征为其左上、右上、左下三个大型的如同 " 回 " 字的正方图案,名叫 " 定位标志 ",用于帮助解码软件定位,如下图红色方块所示。

还有一个较小的正方图案,名叫 " 校正标志 ",用于帮助解码软件识别 QR 码的方向和角度,这样解码软件就可以从任何角度读取 QR 码,如下图粉红色方块所示。

二维码是如何设计出来的?

每个 QR 码都有黑白相间的点线,称为 " 定时标志 ",用于确定 QR 码的宽度以及点数,如下图蓝色点线所示。

二维码是如何设计出来的?

下图中虚线可以告诉读者整个 QR 可以有多大,其中版本 2 是最小的版本,版本 40 是最大的。

二维码是如何设计出来的?

有关格式的信息存储在定位标志附近的两条点带中,如下图的黄色点所示。

格式信息存储了两次,因此即使 QR 码被部分遮挡也可以读取。

二维码是如何设计出来的?

格式信息保存了三种关键信息:

掩码的类型

纠错等级

纠错格式

二维码是如何设计出来的?

纠错等级代表了 QR 码中存储了多少冗余信息,纠错的目的是即使部分信息丢失也仍然可以读取。

L 等级(Low)

7% 的字码可被修正

M 等级(Medium)

15% 的字码可被修正

Q 等级(Quartile)

25% 的字码可被修正

H 等级(High)

30% 的字码可被修正

纠错等级越高,就意味着冗余等级越高,因此 QR 码遭到破坏时仍然能被读取的可能性就越高。如下 QR 码虽然右下角有一大片被覆盖,但仍然能被读取,你可以试试看。

QR 码在白色区域和黑色区域数量相同时读取的效果最好。如果数据区域出现连续的空白或者连续的黑色区,就需要用到掩码。

二维码是如何设计出来的?

当利用掩码处理 QR 码时,数据区上对应掩模黑色模块的单元将会反转。

白色区域会变为黑色,而黑色区域会变为白色。

二维码是如何设计出来的?

QR 码提供八种掩码模型,这些掩码会被逐个尝试,直到找到效果最好的掩码。掩码的信息会存储下来,供读取装置解除掩码使用。

二维码是如何设计出来的?

最终,我们将得到实际数据。

不过,这个数据是从右下角开始的,按照如下图所示的方向返回。

由于 QR 码可以从任何角度读取,因此实际上从哪里开始读取都没关系。

二维码是如何设计出来的?

QR 码中的第一块信息可以告诉我们数据编码的模式,而第二块信息是数据的长度。

在我们的例子中,每个字符包含 8 个比特(也就是一个字节),一共有 24 个字节。

二维码是如何设计出来的?

上图中,绿色空间存储的是我们的数据,后面还有大量未使用的空间。

这些空间被用来存储纠错信息,如下图中紫色空间所示,目的是在 QR 码遭到损坏时依然能够读取,当然实际的工作方式非常复杂,我不打算在此详细讨论。

二维码是如何设计出来的?

以上就是 QR 码的基本知识!

最后附上一张完整的说明图。

二维码是如何设计出来的?

原文地址:http://www.myzaker.com/article/63282861b15ec038646c2478

版权声明:虚像 发表于 2022年9月19日 pm6:03。
转载请注明:二维码是如何设计出来的? | 快导航网

相关文章