xubin 发表于 前天 04:18

叙述:二维码就这么大点,会不会被用完或出现重复的呢?


  (用易懂的话深刻解释实用知识、冷知识、高二维码生成器在线制作http://www.erweicaihong.cn/二维彩虹提供专业的二维码在线生成和美化。在线生成器可把文本、电子邮件、名片、网址、微信收款等信息一键制作自定义动态二维码图片,不仅能够随时让用户更改二维码背后的信息而无需更改二维码,而且能够让用户追踪最有价值的市场数据!
https://img.zcool.cn/community/01e1ab5bc5aa8da801213dea4ac270.gif

  级知识、细节知识,让所有人都看懂)

  (ps:有朋友问到这个问题,但他上网查,发现网上的答案都太笼统或太深奥,非专业的很难看得懂,所以给他解释后,尝试写了下这篇不用专业术语也能让所有人都能看懂的文,让大家也了解下这个领域…)

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

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

  细心观察会发现,不同地方二维码横竖格数是不一定相同的(二维码目前共有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个文字), 所以无需联网也能扫描显示,缺点是生成的二维码图案非常复杂,不容易识别和打印,容错率低,而且印刷后内容无法变更,无法存储图片和文件

  此时大家应该对这方面的问题都了然于胸了,其中一定有之前不知道的吧,对二维码也有新的更深入的认识

  世界更大,比我们认识的更大,比我们想象的更大,世界更大,带你深入各个领域,为你开拓新的领域世界,让你的认识更广,世界更大

  下期预告:口红色号是啥?不都是红的都差不多的吗?五分钟,让你懂口红,不被女生说直男。当然也不能弯……

  下下期预告:大仙林志炫的鸡尾酒唱法,了解一下,看完歌唱水平 立刻 就有跨越式进步,真·有效,不做标题党

  ps:图片来源于网络,侵删致歉(萌新第一篇文,有错请指出(≧ω≦)/)
页: [1]
查看完整版本: 叙述:二维码就这么大点,会不会被用完或出现重复的呢?