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

eca714b90b9dd253d5a1f187a38d71b4.gif

【优快云 编者按】打开二维码,扫一扫,可以付钱、加好友、查看详情......现如今,二维码已成为科技驱动的世界中不可或缺的一个便捷途径,那么你有没有想过二维码是如何被设计出来的?又是如何工作的?近日,一位名为 Dan Hollick 的设计师分享了其中的种种,我们不妨一起来了解一下。

原文链接:https://typefully.com/DanHollick/qr-codes-T7tLlNi

声明:本文为 优快云 翻译,未经允许,禁止转载。

作者 | Dan Hollick

译者 | 弯月

出品 | 优快云(ID:优快云news)

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

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

而QR码解决了这些问题。

ec14fcc165bd869648367a90eab1b556.png

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

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

2f64d97d2a8fc84aeb103ff3c6367cb1.png

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

ac7fec203809e3dbddbb932ec3755a58.png

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

5b40f0be4d44d37e94a1d49dd42b0c99.png

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

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

e980f9d337e47a1fda8002d2a00a0db6.png

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

  • 掩码的类型

  • 纠错等级

  • 纠错格式

bf96e942aa3c8fc33869c584fa2d686a.png

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

纠错等级

L等级(Low)

7%的字码可被修正

M等级(Medium)

15%的字码可被修正

Q等级(Quartile)

25%的字码可被修正

H等级(High)

30%的字码可被修正

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

af7654575155dd56caa8e36ce99a3968.png

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

d41286d68b279d9b6f03ebb5a2db524a.png

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

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

326222a0e954aeccc12ffcae0c710c3c.png

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

3c426d1f2c3b520ba7a0e2ac22c8130e.png

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

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

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

2c9824b6d9bd1ae67151ab6460b89ce4.png

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

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

98703c8ff658c7ba691d586e7f7fa46e.png

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

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

95643edacaa29919c27ee4dbb4ee9fec.png

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

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

960ae9c984fee493ec4c3c54f0ed815d.png

— 推荐阅读 —

a042568981aaf190260048f11a88698a.jpeg

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

优快云资讯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值