全球每天消耗上百亿个二维码,一旦用完了怎么办?

媒体大律师



首先我们从二维码的历史来说起

在聊二维码之前,我们先来说说二维码产生的背景,在没有二维码之前,我们日常生活中经常用到的是一维码也成条形码,基本上每个商品的包装都会有,用于商品的追溯和信息的查询及其他用途。用专业的术语解释一维码即指条码条和空的排列规则,这些条和空组成的数据表达一定的信息,并能够用特定的设备识读,转换成与计算机兼容的二进制和十进制信息。


随着计算机技术的发展,尤其是随着移动互联网、物联网、云计算、大数据等新技术爆发式发展,“扫一扫”在微信、支付宝、浏览器、今日头条各种APP场景中的广泛应用,原有一维码存储容量不足、易复制、无法表示汉字和图像等缺点,根本无法满足这些应用场景,因此就需要二维码去解决这些问题。


二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理。


国外对二维码技术的研究始于20世纪80年代末,在二维码符号表示技术研究方面已研制出多种码制,常见的有PDF417、QR Code、Code 49、Code 16K、Code One等。我国对二维码技术的研究始于1993年,基于国外二维码技术的资料,我们又自主制定了两个二维码的国家标准:二维码网格矩阵码(SJ/T 11349-2006)和二维码紧密矩阵码(SJ/T 11350-2006),从而大大促进了我国具有自主知识产权技术的二维码的发展。


二维码是日本人腾弘原发明的,他将原来的条形码,转变成外观好看容量更大的二维码。他觉得二维码并不会火起来,于是就向全世界公布了二维码的相关技术,对于腾弘原将这项技术带给世界的行为,我们还是应该要感谢他的,毕竟是他让移动支付走进了我们的生活,如果不是他无私的奉献,我们也许每一次扫码都会付其专利费,光靠我国这个扫码量级,比如2016年,我们中国人使用二维码的次数至少达5000亿次左右。假设当初腾弘原规定对每次扫码收取一分钱专利费,那么现在他每年光在中国就能赚上50亿元了。按照这样的速度,过不了几年,加上其它国家的扫码量,他成为世界首富的可能性也是极大的。


二维码能存多少内容

二维码的最大容量取决于主流扫码设备的分辨能力。二维码自身信息量越多,所需的像素点越多;大白话来讲就是二维码就是一个矩阵,就是由一个一个小格子组成的一个矩形,单位面积中的小格子越多,颜色越多,那么储存的信息就越多,但前提是扫描二维码的设备能够达到识别这种高密度二维码的条件,不然生成了,机器识别不了也没啥用。


接下来我们来做一道数学题,我们都清楚二维码无非都是排列组合,目前最大二维码格式是V40,相当177*177个像素,你可以理解成一个 177*177 的矩阵,有2^(177*177)这么多组合,大约是10的10000次方不同信息组合,算上V1~V39格式的二维码,那么二维码最多有10的12000次方。这个数已经很巨大,根本无法想象,从数量上来说我们根本不用担心会用完。


现实中,我们用的是活码,可复用可扩展,存储容量和数量无上限

1、内容存储无上限

现实当中,我们要考虑到用户手机摄像头识别的问题,现实中二维码的编码根本不会存这么信息,存的越多,二维码的密度就越大,二维码就显得密密麻麻,这就对手机硬件的识别造成了困难,运气好的话,也许认识,运气不好,根本无法识别。就好比拿着放大镜去,按照二维码的规则进行识别。因此在大部分应用场景,我们用的是活码,什么是活码?所谓的活码就一般是短网址,一串很短的网址,字符串短,二维码也很清晰,对于低端设备也是很容易识别的。二维码的信息存储在云端,按照链接的规则,进行转换即可,这样就摆脱了二维码存储容量的限制,理论上是无上限的。


2、容易更改,使用灵活

这种方式,也方便我们进行复用和内容的更改,比如云端内容方便更改,相应的活码(短网址)也可以保持不变。相当于『信息变了,码不变』。而如果用二维码直接存储,改一个字节就得换一个二维码了,如果二维码是打印出来的并已经批量印刷投入市场,再去改就是很难的。


3、数量可以说是无上限

每家公司都可以根据自己的业务规则进行设置活码规则,及时字符串内容是一样的,每家公司对内容的转换也是不一样的,针对一个公司的业务,比如100多个字符,每个字符可以是数字、字母、符号,这样的组合已经非常多了,我就不计算了。同时根据各家的业务规则可以将已生成的活码在云端进行灵活设置,比如变成过期失效、永久有效。进行循环利用,只要设置合理,基本上根本用担心用完。


小节

今天的内容就和大家分享到这里,我们一起了解二维码的产生历史、能存多少内容,以及现有业务应用,基本上是活码应用,更多的把存储内容转义到云端,在结合业务规则,进行活码的循环利用,基本上我们无需担心二维码枯竭的问题,毕竟不是一次性消费品,用完了就不能用了。


前端达人


二维码就这么大一点,每个格还只能是非黑即白,那它会不会被用掉所有排列组合呢

答案是会,但是却不会,嗯,没错

细心观察会发现,不同地方二维码横竖格数是不一定相同的(二维码目前共有40种规格,最少21x21,一规格横竖各加四个格子,最多加39次既177x177),以微信名片举例,二维码是横竖各37个格的正方形,其中三个角有固定的7x7的定位点,所以可用可以变换的点共有37x37-49x3=1222个格子,而每个格子只可能是黑或白两种情况(电脑二进制的0和1),所以共有2^1222种排列组合情况,既理论上可以出现这些个不同的二维码(有全黑全白还有的中间会放商标等图形占位置等情况可能出现所以是理论上),2^1222的结果为

emmm~显示不下出错了

不慌,用电脑算,

简单点,2^1000出来是:

科学计数法:1.0715086071863 * 10^301

具体数字为:10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376

根据美国人口调查局的估计,截至到2013年1月4日,全世界有70.57亿人,现在则会更多,算世界上共一百亿人,平均每个人能分10^292个二维码用还有大量剩余,比全宇宙中的粒子数3.28×10^80还要多的多,所以说,二维码虽然是有限的,能用完。

但就算不考虑未来的新技术,算的时候还为简而少算的,不同规格的二维码还不重复又是急剧扩大了可能情况数,单单现在的个数就是有限也太多了,多到根本用不完。而且决定二维码格数上限的是手机像素,目前最高可识别就能达到4000x4000+,而现在的二维码最多也就144x144,且只有40个规格,这提升空间之大,再以后没准能用一张二维码存个电影,光盘变纸张(这个想过头了,目前的二维码存1M都是大的了)……

当然这只是理论数值,而实际上二维码并不只是个图形而已,而是有特定意义的,这其中有大部分是虽然有排列情况但没有意义(最明显的,全黑,全白,还有很多是无法准确表示人可能希望表示的任何情况,所以用不了),但除去这剩下的也够多了。而既然二维码是有特定意义的,那么反过来从另一个角度来看,每一个目的每一个要它表达的值都是不同的,都会形成一条特定编码,所以这样看二维码仍是无限的。而且无意义的二维码也可以人工赋予它人所希望的意义。

还有,那……条形码不够用的吗

然而并不是主要的,而是因为二维码能储存一维码不能存的汉字、图片等信息,以及二维码相对于条形码更能容错(不信可以找一个二维码,然后盖住一部分,再扫它,看看是不是并不影响扫描,有时盖一半都能正常扫,原因是一般都用上了rs码四级纠错),还有能加入保密措施,更安全,还有出错率低(扫二维码还会出错?嗯,只是出错率太低,如果扫错了,赶紧马上立刻,去买彩…不对,买啥彩票,去抽波十连),还有尺寸大小可按比例随意变(条形码就只能在固定范围内细微变化,不然就扫不准,附,条形码的标准尺寸是37.29mm x 26.26mm,放大倍率是0.8-2.0

还有还有,生成二维码会不会生成重复的,就比如马云的支付宝转账二维码和我的碰巧生成了一样的,然后……并不会,二维码上的黑白点排列并不是随机无意义的,而是原始二进制代码,代表某一个意义,而不同的人的二维码要它表示的意义让它代表的事是不同的,所以不会有重复的。

异想天开一波,我画一个,如果只是随便画一个,还真的有可能能扫出来,虽然更大几率是画出扫不出的无意义的二维码,但扫出来干嘛,给不认识的不知道谁转钱么……

为何电子设备中的二维码是随时变化的,支付宝->付钱(生成一个二维码)->返回(那个二维码几分钟后失效,时间不固定)->付钱(生成一个新的二维码),既然二维码是特定意义,那表示“加我好友”或者“关注我”的代码不应该是固定的吗?也不是,现实中的特定意义在网络数据中却不是不变的,支付宝付款码是“活码”,活码本身不是存储的这个目的的码,而是对一个分配的短网址进行编码,扫描后跳转到这个网址。这样将内容存储在云端,可以随时更新、可跟踪扫描统计,可存放图片视频、大量文字内容,同时图案简单易扫。 缺点是扫描时必须联网。而不变的是静态码,是直接对电话、地址、网址等信息进行编码(一般最多50个文字), 所以无需联网也能扫描显示,缺点是生成的二维码图案非常复杂,不容易识别和打印,容错率低,而且印刷后内容无法变更,无法存储图片和文件


蒋基金


全球每天消耗上百亿个二维码,一旦用完了怎么办?

我们不清楚其他国家的生活和二维码之间的关系,但至少在中国,二维码已经和我们日常绑在一起,我们很难想象一个离开了二维码的生活是什么样子,万一二维码用完了呢?

二维码是谁发明的?

二维码种类很多,常见的有QR Code、Data Matrix、Code 16K、MaxiCode、Aztec、Vericode、PDF417、Code 49等,很多产品上都会贴上各种标准的二维码,但我们日常使用的,比如各种支付码格式是QR Code,所以来自国外的朋友会用QR Code来称呼我们日常使用的各种支付码!下文以QR CODE来说明。

QR Code码是1994年由日本DW公司发明的,它诞生后,就在信息量大,纠错能力强等优点绝杀了二维码,在日本和全世界应用广泛,我们日常也已经离不开二维码,平均每天都会扫码数个甚至数十个,而各种支付码为保证安全是即时产生的,即用过一次即失效,下次重新产生,那么吃瓜群众有一个问题,会不会某天二维码用完了呢?

QR CODE数据编码方式

要说明会不会用完,首先得来了解下QR CODE编码方式,下图是一张QR CODE基底图,不含信息,仅仅表示编码:

QR CODE最明显的特征是除了右下角外其他三个角上是一个巨大的回字形定位标志,其他主要的区域有数据与容错,版本信息,纠正标志等,包含QR CODE能不能用完的关键是数据编码的排列组合能不能穷尽!一个QR CODE最大的能包含多少信息呢?

一张小小的二维码搭载的信息量是惊人的,那么它所包含的组合总共可以有多少种呢?

QR CODE空白区域表示0,黑色区域表示1,那么数一数它最大面积的版本有多少格子就能算出它有多少种可能了!QR CODE总共有40种不同密度的结构:

最小的版本1编码模块为21×21,编码数量总有:2^(21×21)

最大的版本40为177×177,编码数量总共有:2^(177×177)码

前者大约有5.6×10^132个编码

后者大约有:9.3×10^9430个二维码

可能大家对这个数量并没啥概念,但宇宙中的原子数量总共之有10^80个,所以即使是最小的的那个二维码也可以给宇宙中每个原子编制一个二维码,而且还绰绰有余!而更大的版本40则可以对所有的“平行宇宙”进行编码,也许还是编不完!

QR CODE的容错功能

从上文我们知道了QR CODE是用不完的,但QR CODE本身包含的信息量太大,而我们有又用不到这些新的时候就有新的玩法了,我们可以将容错信息编制进去,当QR CODE污损时将会起到纠错作用!

从7%到30%不等,但纠错效果越好,面积也将越大,所以大部分都取折中的15%纠错率,优点类似于服务器中硬盘阵列,牺牲容量的方式来保证数据的安全性,如下是硬盘阵列的容错比例:

RAID0:无容错,可靠性降低一半

RAID1:可以损坏一半硬盘

RAID5,可以损坏一个硬盘

RAID10,可以损坏一半硬盘(理想状态下)

当然硬盘阵列的的容错和QR CODE容错原理是不一样的,但两者宗旨是一样的,保证数据安全!

QR CODE的安全性

其实我们要说的不是加密,而是包含有害信息,因为它是隐含的信息,因此即使包含有害信息我们也无法看到,比如包含欺骗、诱导或者淫秽色情甚至木马等信息时危害是很大的,因此对于来历不明的二维码我们要谨慎“扫一扫”,而且手机上安全软件不要忘了装!


星辰大海路上的种花家


二维码最初由日本的一个程序员所发明,跟传统的条形码相比,二维码相当于是二维化的条形码,二维码的数量是有限的,有人说全球每天消耗上百亿个二维码,那么二维码会有用完的一天吗?



二维码的出现极大地方便了人们的生活,别的不说,光就我们每一天使用的二维码支付,就大大提高了购物的速率。而我们每天使用的二维码,每隔一段时间都是会不停地变化的,随机进行黑白组合。仔细看二维码你可以发现,在二维码中有三个比较大的点,而这三个点是用来定位的,不论你是正面扫描还是倾斜扫描,或者旋转180°扫描,都可以扫描出二维码来。

二维码最初是彩色的,后来为了提升效率,改进成了黑白色,二维码采用特定的几何图形,将黑白相间的图形有规律地分布在二维平面内,其中白色的块代表数字“0”,黑色的块代表数字“1”,这是为了便于计算机的识别。二维码上有不同的区域,每一个区域标志着不同的信息。二维码的组合方式虽然有限,但是这也是一个天文数字,根本不用担心某一天它会被用完。



二维码的组合数量跟二维码自身的像素密集点有关,简而言之,像素越高,那么二维码的组合数量就会越多。目前的二维码中,最大的二维码格式是V40,拥有177×177个像素点,那么这么多的像素点,能够形成的所有二维码的数目是多少呢?这是一个很容易计算的问题,也就是2^(177×177)个,差不多是10的10000次方,这还只是V40格式的二维码组合数量,如果算上V1到V39的,恐怕还要多上不少。


所以说,即使地球上每天消耗上百亿个二维码,那么等到二维码用完,恐怕到宇宙灭亡的那一天都不可能,更不用说了,二维码的像素密集点还可以进一步扩展,而一旦进一步扩展的话,数量又是呈几何爆炸式增长。所以结论是,二维码虽然数量有限,但是根本就是用不完的,二维码有广泛的用途,它已经成为了生活必不可少的一部分,二维码的容量巨大,不用担心哪天被用完或者是不够用。


镜像科普


    二维码是有限的,但是用不完。


    二维码的数量

    做个计算题。目前,最大的二维码格式是V40,177*177个像素,有2^(177*177)这么多组合,大约是10的10000次方不同信息组合,算上V1~V39格式的二维码,那么二维码最多有10的12000次方。


    与银河系相比:银河系的总质量是10^41千克,那么所有的二维码都用上,全银河系的每千克物质,可以包含10^900个二维码。


    与地球相比:地球的总体积是10^12立方千米,也就是10^29立方厘米,一立方厘米相当于一块橡皮那么大,所有的二维码都用上,那么地球每一立方厘米有10^800个不同的二维码。


    结论,二维码数量有限,但是根本用不完。

    科普二维码

    二维码是在1994年,一家日本的公司发明的,最开始是彩色的,用户追踪旗下公司零部件的维修情况,后来为了提升效率,改进成黑白色。


    二维码采用特定的几何图形,将黑白相见的图形有规律的分布在二维反向上,其中白块表示“0”,黑块表示“1”,便于计算机识别。


    在二维码上有不同的区域,标识不同的信息,比如对齐模式、定时模式、安静区域、版本信息、数据单元等。


    总之,二维码有广泛的用途,可以用来记录信息和传递信息,并且具有唯一性,常见的用途有手机支付、信息获取、网站跳转、防伪溯源、会员管理等,二维码应用到了人们的方方面面,成为生活中不可获取的一部分。二维码的容量巨大,不用担心哪天被用完或者不够用。

如果觉得对你有帮助,可以多多点赞哦,也可以随手点个关注哦,谢谢。

Geek视界


“极客谈科技”,全新视角、全新思路,伴您遨游神奇的科技世界。


随着移动支付的快速发展,电子钱包快速发展,据统计每10个中国人里就会有8个使用移动支付。移动支付中离不开的就是二维码,全球每天将会消耗上百亿个二维码。不禁会令人产生担忧,二维码是否会同我们的IPV4地址一样,面临枯竭的问题呢?


关于二维码是否会存在枯竭的问题

先给出答案再慢慢解释,即便每天百亿的消耗,二维码的数量足够支撑至下代技术出现之前的正常运转。这一切源于二维码的设计方式,包含了足够多的数量。

二维码的编码方式有很多种,但是具体的实现原理大同小异。利用某个区域黑白色块标识不同的信息,意味着二维码同样使用的是2进制,非黑即白!除了常规的数据区域外,编码上还包含各种格式信息、版本信息、控制信息、校验信息等,二维码的计数是要排除该部分信息。即便如此,二维码的数量依然较为庞大。

因为二维码编码方式有很多种,很难确定二维码支持的最高数量(受到硬件像素制约,后面会提及)。我们简单举个例子,假设使用矩阵式二维码,并且横竖之间只支持20个像素点(实际情况远远多于20个像素点)。那么,会包含多少个二维码呢?2^400个二维码。

这里大家可能并没有一个明确的概念,看看我们万物互联的IPV6是多少个地址吧!2^128,即可实现我们身边每件设备的互联。那么,二维码数量的恐怖您也该有所体会。2^400这个数字是否是二维码的极限呢?不是,这里仅仅是为了便于理解所列举的一个小例子。

二维码的数量与我们硬件扫描的设备有关,硬件设备能力越强二维码的数量也就越多。例如我们二维码使用800*800的像素规格,那么支持的地址就是2^640000。这里是指数级的增长,并非是简单的翻倍,可以说这是一个相当恐怖的数据。试想,硬件的提升,这个像素点若提升至4800*4800又该如何呢?您还会担心二维码不够使用的问题吗?


关于二维码地址是否会枯竭的问题,您怎么看?

欢迎大家留言讨论,喜欢的点点关注。



极客谈科技


如果明白了二维码的原理,就不会有是否会用完这样的疑问。

手机号码、车牌号、IP地址等,就有被用完的可能性。原因在于它们不允许重复。而类似姓名、网上昵称、个性签名等等,则允许重复,所以永远也不会用完。比如现在一大堆人姓名是张伟、李子涵等。

注意:二维码是允许重复的。

二维码看上去显得很神秘,事实上它只不过就代表一串文字(多数情况下,99%如此,下边的讨论不再注明),在整个过程中,也没有用到加密技术。比方说下面这个二维码,就是“犍为真人”四个汉字。

这么花里胡哨的一张二维码,就完全等同于文字“犍为真人”。那么问题来了,既然完全等同,为什么不直接用文字呢?这就涉及到打字的辛苦。打字速度再快,也是需要花时间的,4个字还好,如果400个呢?另外,像11位手机号,我们打字的时候都要反复对照几遍,还不保证一定正确不粗心。于是二维码就发明了,它主要针对手机、平板。二维码目的就是用来复制一串文字,避免打字录入。比方说,我要给你一个手机号(比如海报,广告),以前要把手机号打印在纸上,你照着一个一个输入。现在,我把手机号转换成二维码打印到纸上,你用手机对着纸上的二维码扫一扫,直接就识别出来11位数字。

当我们用手机扫二维码时,会启动手机的自动识别程序,将图片识别成一串文字,于是就轻松实现了类似电脑复制粘贴的功能。说得更直白一点,假设未来图像识别技术非常发达,那么二维码可能就慢慢消失了,因为直接扫文字就可以了。也就是说,那时候我把上面那张二维码图换成醒目的“犍为真人”四个大字,是完全没有区别的。

那么为什么现阶段二维码可以轻松识别?那就是因为它用到了特殊的,针对计算机(手机也是计算机)摄像头的算法,天生就是给计算机看的。这就好比,盲人看(摸)普通文字很费劲,他们用盲文。相反普通人看盲文又觉得是“读天书”。

大家都知道,计算机用二进制表示信息。二维码的那些黑白方块就是二进制。黑色代表1白色代表0。黑白必须对比清晰,然后摄像头拍照后转换成010101这样的二进制。之后用较复杂的解码算法转换成文字。

算法中最复杂的设计就是纠错。意思是说,即使识别错了一部分黑白块,依然可以成功解码。举个人类识别的例子。比方“38”这样的文字形式就不合理,因为容易把3错误判别成8。而“三八”,“叁捌”就很好。而且即使这样的文字被遮挡一部分或很模糊,依然可以被人类辨别。这就叫“纠错”或“容错”。除了纠错,二维码还涉及到定位参考,掩码等技术。这里就不再展开介绍。

我们再来看看二维码的容量到底有多大。在国内,二维码多数用的都是QR码。QR码最多能表示7089个纯数字,或者4276个字母(形如网址的字符),或者2953字节的二进制(相当于2.9KB)。还有日文中文等最多表示数就不再列出。

已经足够多了!

而我们平常见到的二维码,最多的就是网址,其次是纯数字。比如微信扫码支付(商家扫你),公交地铁扫码,共享单车扫码,火车票实际上代表的就是一堆纯数字。而关注公众号,微信支付(你扫商家),就是一个网址。这些数字或二维码,通常长度还不到30位。

再强调一下,二维码多数时候仅仅就代表一串文字。比方说你扫商家的二维码,实际上就是一个网址。这时候,你自己在微信浏览器中手打输入这个网址,然后打开,效果是一样的(弹出一个输入金额的画面)。区别就是手打网址,要打半天字浪费时间,还容易输错。

明白了这些道理,就知道了二维码是用不完的。一方面,二维码允许重复。另一方面,二维码几千的最大容量,足够表示日常的网址和数字编码。


犍为真人


这个问得太不专业了,能否用完我不清楚,但是有个叫"协议"的东西你没有弄清楚。二维码怎么使用只跟对应的APP所定义的内部协议有关。打个比较极限的比方。比如某一个二维码扫出来的是二进制类容“110”。用某服务APP扫出来,可能指的是110报警电话。用某公交APP扫描,显示的是110路公交车的信息,支付宝扫描出来的意思是付款110块,微信扫描出来的意思是收款110块,等等,这都是可以的。所以扫描出来的二维码的内容该怎么用,由扫描的APP里面的程序代码决定怎么使用(即APP自己定义的内部协议规定)。

再打个浅显的比方,同样是21路公交车,北京的21路,和上海的21路公交车,能一样么?有冲突么?显然没有。同样是21路,该怎么用,由各地决定,互不冲突。

因此,就算用完了 ,出现重复,也不影响使用,只要是同一使用协议内不重复就没有关系。


香醉忘忧


再了解二维码数量之前,我们先了解二维码的原理。

二维码的原理

二维码其实就是由0、1组成的二进制,我们看到的二维码每个方块,都有意义,其中白色的方块代表0,黑色方块代表1。

而我们日常用的比较常见的是37*37的格子,其中三个角都有一个固定的方块,这个方块的大小是固定的,是用于识别时,方便定位二维码防线的用途。大小有7*7个像素点。

所以,37*37的二维码格子,可以产生37x37-49x3=1222个格子,又因为每个格子仅仅代表0或1两种情况,因此,共有2^1222种排列组合情况,也就是说,一个37*37的二维码格子,可以产生2^1222个二维码。

可能这样说,大家没概念,我们可以和全世界的人口做个对比,根据世界人口时钟比较,截止到2019年10月20号下午3点13分,目前全世界人口大概为7744402531人(77.44亿人),如果想要用完所有的二维码,大概每个人需要用完10^(292)个,并且还有非常多的剩余。

还有,我们宇宙中有非常多的基本粒子,甚至每个人体内都有上万亿个中微子穿过,由此可知宇宙中的粒子数是多么的恐怖。据科学家推算,全宇宙中的粒子数大概有3.28×10^80(肯定有误差,这已经是非常保守的估计),而二维码比全宇宙中所有的粒子加起来还要多。

由此可见,二维码虽然是有限多的,但却用不完。

而37*37的二维码只是其中一种,还有40*40,21*21等40多种规格,因此不用担心二维码被消耗完的问题。

识别二维码的原理

二维码虽然在人类看来像天书一样,并且每个二维码看起来都差不多,但在机器眼里,每个二维码都不相同。

首先白色之所以是白色,是因为它能反射各种波长的可见光,而黑色则相反,能吸收所有波长的可见光。所以当机器在靠近二维码并识别时,机器会根据不同的波长判断这个格子是白色还是黑色。

由于黑色和白色代表着不同的数字“0”“1”,所以机器也会自动识别出这个二维码不同的排列方式,其实还要注意一点,机器在识别图形时,会由于各种原因出现差错,而二维码之所以很少出错是因为它自身储存一定容量的纠错率。

比如我说:“我有一个苹果”,当你听错一个字之后,你可能会误解我的意思,但如果我说:“我有一个苹果,英文名叫apple,乔布斯用它做手机的名字....”等等,看似一大堆的废话,你再识别我的信息时,就很难出错了。二维码也有一些方格,对应的是这些废话,防止识别错误。其实这也是信息学的香农第三定理。

当机器识别出二维码不同的排列方式之后,然后就会像我们打开网页一样,每个不同的排列方式,对应着不同的“网页”,而这个网页被人们提前编撰过信息,所以识别出这个“网页”时,对应的信息也会被识别出来。

因此,二维码不仅能包含简单的价格,也可以包含一个网页,一个自我介绍,一份简历等等任何你想输入进去的东西。


钟铭聊科学


钱包在我们中国现在已经没有那么吃香了,想想以前的情侣过个节还送个贵贵的名牌钱包,现在送钱包可就有点落后了哦,人家都是微信,支付宝给对方转个“520”就解决问题了。

以前我爸常说“现在手头有点紧”,到了我这可就是“哎,最近花呗额度又用完了,”没错,最终结果都是那张卡里面的钱少了。

可是后者不同的是,对花出去的钱可一点感觉都没有。细细想来,这个锅就该二维码来背。

谁让它现在那么普及呢?动动手指头就能支付交易,加群认证了。不过在我小时候也有二维码,不过不是正方形的,是条形二维码,也就是我们在超市买商品时后面贴的条形码,在当时也不能被用来支付。

那它现在不能广泛使用的原因是它不够用了。这些图案长度一致,水平的方向来输入信息,方便机器来扫描。

这就体现出它最大的弊端只能包含30个字母,符号或者是数字。你想想,别说全世界,就是中国每天得消耗多少条形码,这哪能够用啊!

最先发现这个问题的是——日本电装,它是全球前三的汽车零部件供应商,你任何信息都得输入进去(产地,材料,日期,物流等等),30个字符是肯定不够的。

所以腾弘原,日本的一个工程师在1994年带着他的团队捣鼓了两年,就研究出来了外观更好看容量也更大的矩阵二维码,但他算错的一点是他把这项技术公布给了全世界,因为他觉得二维码不会火起来的,他的收费是扫一次收专利费用1分钱。但我想按照二维码扫描的速度,他可能成为世界首富了。

但我经常看到二维码就会想:它就是一个小小的正方形,能有多少图案,要是再用完呢?

但我发现是我多虑了。感兴趣的朋友可以和我来分析分析。

二维码的大小是不同的,例如21*21,103*103,规格最大的可以达到177*177,加起来大大小小有40多个规格呢!我来给你举个例子吧!比如说是一个25*25的二维码,它wo有25行格子,也有25列格子,把一些限制还有定位的区域去掉的话,它还剩下478个小格子。

黑色的格子用“1”来表示,白色的格子用“0”来表示,所以根据理论上来讲是可以组成2^478个二维码的。可能有人不懂这是什么意思,也就是如果全球将近80亿人同时狂点屏幕刷新二维码的话,每个人按134^10就把二维码用完了。

但你以为这样二维码就被用光了吗?你可想的有点简单哦!因为它是可以重复使用的!如果你这个二维码被用光了,那么如果不重复使用它,它在下次还可以被用在不同的地方。我来给大家打一个生动的比方:全世界所有的人把它贴到我们的地球上,还可以增加地球一倍的体积,这可比精卫填海难多了。


总之呢,我们的二维码容量储存力量是无限大的,它还很容易被更改,这也方便我们对内容的更改,使用非常方便。所以我们基本上是不用担心它使用枯竭的问题,毕竟它也不是一次性消费品嘛!


分享到:


相關文章: