二维码的容错率起到了什么作用!

yjby.jpg

前几天和大家分享了一篇 javascript生成二维码,实现微信跳转 里面提到了一个二维码的容错率,知道今天发现了一个bug ,又重新找了找关于javascript 生成二维码的资料.回头我会整理一下,提供微信端跳出内置浏览器的最佳方案

什么是容错率

顾名思义,就是容许犯错的概率

二维码的容错率

是指生成的二维码允许犯错吗? 不是!


二维码的容错率,是指你生成的二维码就算被遮挡了一部分,或者有一部分没有完全显示出来,当时用户通过各种各样品牌的手机都能扫描成功,这个被遮挡部分在全部的比值,就相当于一个容错率

所以二维码的容错率,跟贴切的叫法是,二维码的冗余度有多大.

什么是冗余度

就是你担心自己心爱的自行车被盗,所以买了一把锁把前轮锁在大树上,感觉还是不放心,然后又买了第二把锁,把后轮又锁在了电线杆上.

发挥你的想象力,大树和电线杆离的很近很近 这可以说就是一种冗余.当然这样做的目的就是,盗车的人就算弄开了前轮的锁,他依然拿不走自行车.

什么是二维码的冗余度


二维码的冗余度分为4种 ,L、M、Q、H 4个等级

  • L 7%
  • M 15%
  • Q 25%
  • H 30%

上面的数字分别表示当前生成的二维码被遮挡 (7%,15%,25%,30% )以后,依然能被用户扫描识别.

就像我博文最上面的二维码,中间被一个域名地址覆盖了近20% 的区域,如果我不选用 H 级别,估计用户扫描不会被手机识别.

二维码是如何实现这个冗余度的

整个图片显示的信息被重复平铺在一个二维码中.

就好比我博客的广告,其实在一处显示就已经够烦的了,然后事与愿违,当然真实的目的并不是让你们更烦. 在这个股票熊市的行情中,还要每天坚持发博文,你们的一次点击或许就是一种支持,所以我的广告会在不同的地方出现很多次. 这样你就算看不到左侧上方的,就算你无视右侧上方,当然你也不会理博文最小面的,但是右小角那个漂浮的广告一定挑战了你的心里底线,压抑什么,赶紧点啊.


所以二维码在生成的时候,会根据容错率来重复平铺某一个信息 比如,你希望在二维码中 生成 “一介布衣” 四个字.容错率是 30% 那么,实际二维码展示出来的效果可能是下面这个样子的


一介布衣一介布衣一介
布衣一介布衣一介布
一介布衣布衣一介布衣

所以你的手机扫描到了左上角,左上角,右下角,中间等任何一个部分,基本都能100% 识别出来 4个字 “一介布衣”

出自:二维码的容错率起到了什么作用!



回到顶部