美文网首页
二维码的分类和区别

二维码的分类和区别

作者: 不会生信哟 | 来源:发表于2021-03-27 21:49 被阅读0次

-杀杀
小时候去超市的时候经常会看到商品上的条形码,通过收银员的特定机器的扫描录入系统,就可以知道所选购的商品和价格,这种条形码就是一维码。一维码之所以没有被广泛应用到我们的生活中,是因为它所能存储的信息量有限,但二维码就不同。这几年我们的日常生活中经常用到二维码,无论是付款,添加好友还是获取信息,二维码编码都可以起到作用。但是其实二维码的发展和种类都是很多样的,不同的二维码也会用于不同的场景

这是一张我们简书的二维码~

可以看到,二维码的左下,左上和右上方分别有三个回形小方块。这类二维码有一个名称叫QR Code。我们可以先了解一下QR Code

QR Code

QR Code(Quick Response Code)是日本的Denso公司于1994年对外公布的二维码。
除了三个角上特殊的黑框,它还有一些其他特点。
首先是QR code一定大于21行。

QR code可以提供四级纠错。 QR code可以支持中文。
当用于编码数字时,深色块表示二进制1,浅色块表示二进制0。
当前的RQ code国标有40个版本,分别是21 * 21模块和177 * 177模块。

QR code也是当今使用最广泛,最通用的一类二维码。原因除了它是开源外,还由于其中的编码和解码过程有许多优点。
首先相比一维码,二维码的利用空间增加了很多,能够存储更多的信息。
其次,条形码如果受到损坏,就会影响解码,甚至无法解码。但相比之下二维码有时即使有一定程度的破损,仍然能够精确地识读,容错率高,这也跟纠错功能有关。
QR code三角上的三个框其实是一种定位标志,可以帮助扫描仪器在复杂的图像中识别并定位二维码的位置。

这张图片是GB/T 18284-2000 快速响应矩阵码的区域功能图示,来源于00年发布的国标文件。

我们可以在平常看到的二维码中看到类似的特征。但是根据二维码的行数不同,可能各种图形的数量会存在区别。
对于QR code的国标文件可以在网站中获取:

http://www.foodcta.com/spbz/detail64089.html#

除了QR code,还有另一种不同类型的二维码:

Data matrix

Data matrix ——

这种类型的二维码,特征和QR code有所不同,是1989年International Data Matrix公司发明的。(这个用微信是扫不出来的(截止20210327),但是可以用支付宝扫出来,并且扫的时间较长)

Data matrix的周围有半圈实线边框和半圈虚线边框(共同构成探测图形),用于条码符号定位和确定条码结构信息。探测图形主要用于限定符号的单元结构,也可用于确定符号的物理尺寸,以及解决符号定位和失真等问题。

Data Matrix条码解码:
根据采样网格,将深浅模块转换为01矩阵;
去除探测图形,提取出数据区,并得到条码尺寸和版本信息;
调用模块放置矩阵恢复正确顺序的码字流;
再确定数据码字和纠错码字,并进行条码数据的检错纠错;
恢复原始数据,输出。

PDF417

PDF417 ——

数据容量大,纠错能力强,有9级纠错能力,一定程度上即使被污染仍能识别。

PDF(Portable Data File)由美国SYMBOL公司发明,组成条码的每一个条码字符由4个条和4个空共17个模块构成。 需要有417解码功能的条码阅读器才能识别(微信支付宝都是不行的,可以去下载扫码软件,扫起来还是比较快的)。 417条码有其特定的结构

参考1997年国标文件

基本上就介绍这几个比较常见的二维码,当然,最为通用的还是QR code,因为开源的性质和解码快,编码能力也强的性质,被广泛应用。

顺带提一句,有些二维码同样是QR code,但微信能扫,支付宝缺不能扫,或者相反,这是由于app屏蔽对家页面的原因,而不是因为二维码导致的。当然,有时候一个二维码可以支持多个平台扫码支付,那么这时候其实应该要打开不同的页面,要如何识别呢,这是由于识别结束后,可以请求一个特定的码User-Agent(UA),分别对应了不同的软件,这样就能够打开不同的页面了。

参考文档:
国标文件:
https://www.doc88.com/p-5844404547558.html
http://www.foodcta.com/spbz/detail64089.html#
博客:
https://blog.csdn.net/fengbingchun/category_839689.html
https://blog.csdn.net/fengbingchun/article/details/54432986
https://blog.csdn.net/fengbingchun/article/details/44279967
https://blog.csdn.net/fengbingchun/article/details/54577456
https://www.zhihu.com/question/41709402
https://blog.csdn.net/qq_29110265/article/details/86521156

相关文章

  • 二维码的分类和区别

    -杀杀小时候去超市的时候经常会看到商品上的条形码,通过收银员的特定机器的扫描录入系统,就可以知道所选购的商品和价格...

  • iOS基础题

    一、category 和 extension 的区别?(分类和扩展的区别) 1,分类有名字,类扩展没有名字,是一种...

  • 分类和回归的区别

    使用神经网络二分类的时候误把输出层神经元个数设置位1,应该设置为类别的数目才是正确的。 后来我想,如果分类问题的输...

  • 分类和扩展的区别

    分类 category 给一个系统公用的类添加额外的方法时,使用category,生成NSObject+addit...

  • 分类和延展的区别

    1.分类的括号中有名字而延展没有2.分类没有属性,只提供get和set方法,而延展中有属性和get、set方法3....

  • 分类和扩展的区别

    分类只能扩展方法,不能扩展属性和实例变量,如果包含成员变量会直接报错! 如果分类中声明了一个属性,那么分类中只会生...

  • 分类和扩展的区别

    1.分类:在不修改一个类的情况下给类增加方法,即在不知道.m的情况下给只能增加方法,但不能增加成员变量,可以添加属...

  • iOS宝典--不断更新中

    category 和 extension 的区别 -分类有名字,类扩展没有分类名字,是一种特殊的分类 -分类只能扩...

  • iOS分类、延展和子类的区别

    iOS分类、延展和子类的区别 类别、延展、子类的区别 | 类别 | 延展 | 子类--------|-------...

  • iOS知识基础篇

    category 和 extension 的区别 分类有名字,类扩展没有分类名字,是一种特殊的分类 分类只能扩展方...

网友评论

      本文标题:二维码的分类和区别

      本文链接:https://www.haomeiwen.com/subject/leskhltx.html