二维码会用尽?撕坏了也能读?揭秘二维码背后的冷热知识~

文摘   2024-11-20 07:00   日本  

现在是2024年,相比十多年前,我们每天的日常生活越来越离不开二维码,转账付款、加好友、下载软件、访问网站、商业推广……目前全球每天大约用掉上百亿二维码,那么二维码会不会有被用尽的一天?有时候码还没照全就读取成功,带图片的二维码也不影响解码,甚至污损的二维码居然有些也能读,到底哪里才是二维码最重要的信息?


1

二维码的前世今生:从一维走向二维

大家都知道二维码的前身是条形码,条形码是由黑白相间粗细不同的条码构成的。最细的黑条代表“1”,最细的白条代表“0”,并以最细宽度的黑白条为单位,几倍就是几个“0”或“1”,看到“0”和“1”小Go的朋友们就秒懂了,没错条形码就是利用二进制来识别信息的。

条形码简单高效,瞬间就能读出来诸如商品信息、图书信息等简单信息。但条形码只能存储少量简单的数据,一旦信息复杂就会变得非常长,而且只能横向读取,为了解决这些问题,二维码登场了。



2

二维码的种类:不仅仅是QR

人类针对二维码的研究早在20世纪80年代的美国就开始了,第一个二维码是1987年David Allair博士研制、Intermec公司推出的Code49。

而现在我们说到的二维码通常是由日本人原昌宏于1992年开始耗时两年研发的QR码。

(各种各样的二维码)



3

QR码的发明故事:一场巧妙的灵感碰撞

QR码之父,日本人原昌宏先生就职于株式会社电装,当时汽车工厂零件管理使用的条形码无法记录大量的部品信息,而且因为工厂环境,常有油污污损条码而无法识别的情况。彼时正值日本泡沫经济崩坏时期,想要想办法解决上诉问题却没有充足的预算,无法考虑从硬件角度解决问题,于是他们想到了条码的研发。

想要研发出包含大量信息的条码,似乎只能从横竖两个维度着手考虑,可一旦构造复杂相应地读取时间就会变得很慢。有一次原昌宏下围棋的时候突然来了灵感:“每个棋子放下的时候位置都不一定十分精准,但即使摆放得歪曲不齐,从黑子白子的摆放顺序仍然可以判断出结果”。

原昌宏的头脑里马上把这些黑子白子想象成解码的数据,“不必精确,只要差不多能读出来就行”,这不正是他想要的东西嘛!


(原昌宏先生)


于是仅用了两年时间,1994年8月8日,原昌宏向世界发表了这个叫QR码的二维码。QR的全称是Quick Response(快速响应),它能以0.03秒的超高速读取信息,而且其信息容量是传统条形码的200倍,最大可容纳7089个数字,并且能兼容英文汉字及其他常用字符。



4

QR码是如何工作的?

一个QR码的背后,是精密的分区和算法设计。


1.功能区域:

▲定位标志(3个回字形大方块):帮助扫描设备找到二维码的位置,并找到正确读取方向。

▲校准标志:调整二维码的倾斜角度,即使印在弯曲表面也能正确读取。

▲版本信息区:标明二维码的版本。

▲数据区域:存储具体的信息。


2.掩码技术:

(QR码提供的8种掩码模型)

QR码采用掩码技术,通过调整黑白分布避免图像中的大面积相同颜色干扰解码。


(在掩码信息位置找到对应掩码样式,通过异或算法去除掩码)


(在日本汉字模式下,将Shift_JIS编码经过特定运算由16位二进制数压缩为13位)



3.纠错机制

即使部分区域受损,QR码也能通过内置的纠错算法还原数据。QR码的纠错能力分为四个等级(L、M、Q、H),一般来说,QR码图形面积越大,容错率越高,最高可修复30%的数据丢失

L等级——可修复7%数据

M等级——可修复15%数据

Q等级——可修复25%数据

H等级——可修复30%数据

一般来说,三个回字形定位符不可以被遮挡,但数据区域被遮挡时,纠错机制可以适当补偿。所以QR码中心带小面积图案的,一般不影响读取。



5

QR码会被用尽吗?

开篇我们说到,当今社会每一天就有约百亿个QR码被用掉,会不会有一天被用完?

QR码是一个由矩阵方块排列组合形成的信息码,理论上是一定有一个上限的。但是我们的QR码有40种格式,最低格式的QR码是由21×21的方格组成,共441个格子,每个格子有黑白两种可能,减去192个用于定位等功能的固定方格,那么有2的249次方种组合。

按中国人每天扫码15亿次计算,要160万亿亿亿亿亿亿亿年才能耗尽,而地球也才存在了46亿年,完全没必要担心QR码不够用。而最大规格的二维码有177×177个方格,可能到宇宙毁灭都用不完。



6

特殊二维码在社会基建中的巧妙运用

上图是都营浅草线车门上的QR码。

都营浅草线站台上安装了安全门,当电车进站的时候要根据车厢数量和车门数量决定那些安全门需要打开。然而不同公司的电车的车厢数和车门数都不尽相同,无法在电车进站的瞬间就判断清楚哪个门需要开哪个门不能开。此时斥巨资改修车厢统一规格已不现实,为解决这个问题大家想到了二维码。

只要在站台上设置扫码镜头,通过扫描进站电车车门上的QR码,就能迅速识别这辆电车的信息,瞬间判断应该开关哪些安全门。

那么,既然是贴在电车上的QR码,免不了风吹日晒雨淋反光,考虑到极端情况可能读不出来的问题,QR码之父原昌宏还亲自为这张码做了纠错机制的优化,使其容错率高达50%。

另外,这张为地下铁量身定做的QR码不会被贴在弯曲表面,所以没有一般QR码右下方的校正标志。并且,为了机器能瞬时捕捉到QR码,这张码还比一般QR码多了一圈外框。

(一般QR码容错率最高30%,地下铁QR码高达50%)


好了,奇怪的知识又多了一个,小Go的小伙伴们再看见二维码就可以自行脑补读码机器怎么运行的了!最后提醒大家一句,扫码有风险,来路不明的码不要扫!


END

ITgo技术者之家,持续关注在日IT人关心的各种资讯,打造在日技术者专属社区。欢迎留言交流互动。

ITgo


在日IT人的专属社区
往期精彩回顾:





住民税大揭秘:怎么算?从哪省?终于整明白了!


软件工程师面试不合格理由第二位“技术力不足”,第一位是什么?


对日软件工程师如何写“本番障害報告書”


全银系统故障原因揭秘:NTT Data和全银联的深度分析!


日本小中高学生的成绩提高神器Rakumon又出新篇章


用中国驾照换日本驾照5步搞定!省时又省力!


高手程序员的几大特征


在日本护照过期了怎么办?2023中国领事APP换发护照攻略来了~


你离「高度人材」可能只差这篇文章的距离——帮你找到隐藏的加分项


保险证还能这么玩!在日IT人的专属福利~

ITgo技术者之家
ITgo技术者之家的理念以对日IT技术者为中心、在这里有您关心的高单价案件、热点技术讲座、生活互助、情感交流等各种话题,致力于打造专属于对日IT技术者的优质平台。
 最新文章