Q

QR 码如何工作?

2025-06-08

QR 码如何工作?

大家好,正如标题所示,今天我们将回顾二维码的起源。如今,二维码的应用十分广泛,它能够将实体与数字联系起来。例如,您只需扫描二维码即可访问链接,而无需复制整个链接。
因此,了解二维码的工作原理至关重要,何不在接下来的文章中介绍如何创建二维码呢?

它存在多久了?

首先,二维码是从什么时候开始出现的?它的历史比你想象的要长,实际上它早在1994年就由Denso-Wave公司发明。当时它们被用来追踪丰田工厂备件的运输。Denso-Wave公司在1999年免费开放了二维码,但直到大约十年后,随着智能手机的兴起,它才真正开始被使用。

原则

现在我们来讨论一下二维码的原理。为此,我们将使用这个二维码,它引用了 dev.to 链接:

dev.to二维码

首先,二维码由三个角上的白色和黑色大方块组成。这些方块被称为模块。其中一些模块不得被覆盖或修改,否则将无法扫描。这些是位置标记,用于指示二维码边缘的位置。此处模块以红色覆盖层显示:

dev.to二维码模块

现在我们要取一个稍长的链接并生成二维码,所以我选择从 youtube.com 生成二维码:

youtube.com 二维码

我们可以注意到这个新的二维码里面有一个对齐标记,如下图所示的红色标记:

youtube.com 二维码对齐标记

它充当扫描仪的参考点,确保所有部件正确对齐。较大的条码上会有多个参考点。

此二维码来自 systemid.com 网站:

systemid.com 二维码图例

可以看到红色条纹,它们被称为时序图案。它们定义了行和列的位置。此外,绿色部分向读者指示二维码的格式,无论是网站、文本还是其他格式。最后,蓝色模块代表版本号,即模块越多,版本越高。直到 v40 版本,它代表 177 * 177 个模块。一旦所有这些模块都被解构,我们就剩下灰色部分:

systemid.com 二维码灰色部分

其余模块按8个组分组,从而形成一个字节。(一个字节由8个位组成)。

错误纠正

二维码非常实用,读取速度非常快,有时甚至只需不到一秒钟就能闪现一次。秘诀是什么?二维码无需完整扫描即可读取。因此,即使部分代码损坏也没关系,二维码仍然可以读取。但它是如何做到的呢?二维码拥有基于里德-所罗门码的自纠错系统,里德-所罗门码是由数学家欧文·S·里德和古斯塔夫·所罗门发明的所谓完美代码。由于可以遮盖部分代码而不会影响其正确读取,因此我们可以通过集成图形元素使二维码更具吸引力:

自定义二维码

如果您想创建自己的二维码,我推荐Unitag.io网站,它允许您管理许多自定义效果。

在下一个教程中,我们将学习如何用 JavaScript 创建二维码生成器。希望本教程能帮助您理解二维码背后的不同流程,如果您有任何疑问,欢迎在评论区留言。👍

鏂囩珷鏉ユ簮锛�https://dev.to/clementgaudiniere/how-does-a-qr-code-work-c2a
PREV
您的第一个 API(使用 Bun、Express 和 Prisma)
NEXT
向您的网站添加加载器