> 科技 > 互联网 > 二维码是什么原理,采用什么识别方式(识别二维码的原理是什么,二维码原理)

二维码是什么原理,采用什么识别方式(识别二维码的原理是什么,二维码原理)

来源:湘潭网 时间:2022-11-23 04:56:47 编辑:君子莲 手机版

今天湘潭网为大家带来一篇关于二维码是什么原理,采用什么识别方式,识别二维码的原理是什么,二维码原理的文章,相信大家还不了解,为了更好的学习,小编为大家整理了以下内容,希望能够帮助到大家!

二维码简单原理是什么?

愣是谁也不会想到二维码居然会全面地覆盖我们的生活,网站登录要扫二维码,加好友要扫二维码,就连菜市场卖菜的老头、老太太都懂得扫码支付了,小小“方块”脱颖而出,不仅仅可以容纳数字,还可以容纳文字、图像、指纹、声音等等。二维码展现的是机器二进制语言,“0”和“1”这两个数字组成了如今我们从电脑里看到的所有的信息。

在二维码中,白色的方块表示0,而黑色的方块表示1。一个二维码是由定位标志、定时标志、校正标志、内容信息这四个部分组成的。定位标志也叫码眼,用来定位二维码的图形区域,没有它二维码就无法被识别出来。定时标志并不是非必须的,所以它是可以删除的,在大型二维码中一般起到确定坐标的作用,属于辅助性的定位。校正标志可以确保我们不管在哪个方向扫描二维码都能够识别出内容来,如果没有这个标志我们只能正面地扫码二维码了。

内容信息里面填充的就是扫码的人所能看到的信息,内容信息是具有一定的容错率,所以中间删减或者遮挡掉一部分都可以被扫描出来。二维码有四种纠错级别,从低到高分别是L、M、Q、H,他们的纠错率分别是7%、15%、25%、30%,纠错率越高越容易被快速扫描。纠错其实就是在创建编码二维码的时候创建了一些冗余数据,这样不但可以确保准确快速的识别出二维码完整无误的信息,也可以确保二维码部分损坏时不影响读取正确的信息。

二维码为什么会出现二维码其实很早就出现了,它是由日本电装(DENSO)旗下子公司DENSO WAVE一名叫原昌宏的人1994年发明出来的。二维码的出现旨在取代传统的仅能容纳少量数字信息的条形码。因为上世纪60年代后,日本的商超一派繁荣景象,而收银员却要不停地输入产品信息和价格,所以“腱鞘炎”这种职业病开始流行。

DENSO WAVE怀着满足客户需求的愿景成立的仅有2个人的研发小组旨在“容纳更多的信息”。传统条形码仅在一个方向上存储信息,而且很容易读取错误,而二维码则在2个方向存储信息,信息量就大大地扩容了,二维码的名称就是这样被定义的。二维码之所以在今天能够这么流行除了它本身的巨大优势之外,还得益于DENSO WAVE放弃行使这项权利的权利,如果DENSO WAVE手握专利收费使用二维码可能又是另一番命运。

手机扫描二维码的一瞬间发生了什么?手机扫描二维码解码程序会自动的识别二维码中的信息,滴一声之后就会对二维码做相应的处理。比如是一段文字就会马上弹出文字信息,如果是一条网页URL则会自动的传输数据给服务器,服务器在接收到数据后就将相应的请求信息反馈到手机上。二维码中的信息自生成出来之后就是固化的,真正能识别并产生动作的是手机内置的程序。

二维码到底会不会被消耗光?二维码最小的符号尺寸时21*21,最大的符号尺寸时177*177,现在二维码有40多个官方版本。二维码的数量跟二维码的尺寸相关,所以它是有限的。如今全球每天消耗的二维码达上百亿个,但是即使是从宇宙大爆炸到用到今天,138亿年也仅仅只是消耗掉一小部分,所以并不需要它会被消耗光。

大家都熟知二维码,那么字符串是怎么转换成二维码的呢?原理是啥?

移动互联网时代,二维码在我们身边可以随处可见,手机支付有付款码,公交地铁有乘车码,还有最近出现的健康码。其实不管是付款码还是乘车码,本质上它们都是二维码,那么二维码到底是什么呢?二维码是什么?回想一下我们在超市买东西时结账的流程:首先我们打开付款码,接着收营员扫我们的付款码,然后钱就自动从我们的账户中扣除了。

可以看出,扫码付款的过程就是从二维码到人的一个过程,从二维码所代表的信息中找到我们的账户信息并从中扣款。那么二维码所代表的信息是什么时候确定的?当然是生成二维码的时候啦!我们要使用手机支付功能,首先必须注册帐号,此时帐号就代表了我们。打开付款码的时候,系统会将我们的身份信息经过一些计算,最终生成一个二维码并展示给我们。

生成二维码的过程就是将信息转换成二维码的过程,扫码的过程则是将二维码再转换成信息的过程,所以二维码本质上只是信息的一种展示形式而已。二维码结构分析虽然二维码看起来是毫无规律的,但其实二维码的生成有着固定的格式。大小二维码的大小存在 40 种版本(Version),从Version1(21x21的正方形)到Version40(177x177的正方形),每增加一个 Version,大小都会增加 4。

版本越大二维码就会越大,随之所能表示的数据量也就越大。结构二维码呈正方形,通常由黑白小方块组成,二维码的整体结构可以分为定位标记、功能区以及数据区三大部分:定位标记——在二维码的左上角、右上角、左下角有3个类似“回”字的方形图案,这3个图案是用于二维码的定位标记。正因为有定位标记的存在,所以不管我们以什么角度扫描,二维码总是可以被准确的识别出来。

二维码中还存在一些小一点“回”字,它们是用于校正定位的标记,并且只会在Version 2及以上版本的二维码中才会出现。功能区——功能区分为两部分,即图中红色部分和紫色部分。红色部分存放格式信息,用于表示该二维码的纠错级别(至于纠错级别是什么后面在解释),紫色部分存放版本信息,即该二维码的尺寸大小。数据区——数据区指的是除去定位标记和功能区的其他部分(图中灰色部分),用于保存二维码实际所表示的信息的数据码以及用于纠错的纠错码。

纠错级别二维码一般有一定的容错率,所以即使二维码被遮挡住一部分,仍然可以被扫描出来,原理就是在生成二维码的过程中对数据做了冗余处理,冗余程度越高容错率就越高(纠错级别越高),二维码能被遮挡的部分自然也就越多。二维码的纠错级别从低到高分为L(7%)、M(15%)、Q(25%)、H(30%)4个等级,如果需要在二维码中间加logo,那么我们就应该生成H级别的二维码,但也并不是纠错级别越高越好,级别越高需要冗余的数据就越多,那么生成的二维码的复杂程度也就越高,实际使用过程中我们应该根据需求选择合适的纠错级别。

编码模式我们都知道计算机只认二进制信息,所以我们需要把字符串中的数字、字母、汉字以及各种字符统一转换成由0和1组成的二进制数字串计算机才能识别,所以生成二维码的过程就是将字符串转换成二进制数字串的过程。最后生成的二进制数字串对应到二维码上,0对应白色的小方块、1对应黑色小方块,按照8个一组依次填充到数据区就是一个完整的可以被识别的二维码了。

根据源字符串类型,二维码主要支持4种标准化的编码模式,分别为数字编码、字符编码、字节编码以及日文编码,当然也支持其他一些特殊的字符集编码以及混合编码。每种编码模式对应一个4位的二进制的编码模式指示符:下面以字符编码举个例子,现在有字符串“HELLO WORLD”1、模式指示符——根据查表可知HELLO WORLD需要使用字符编码模式,所以它的模式指示符为0010。

2、字符计数指示符——表示源字符串的长度,字符计数指示符必须放在模式指示符之后。字符计数指示符的计算依赖于二维码的版本以及编码模式:以版本1为例,字符编码需要9bits,HELLO WORLD长度为11,转为二进制为1011,不足9位,左边补5个0得到最终结果000001011,加上模式指示符目前我们得到的二进制数字串为0010 000001011。

3、对原字符串编码,将HELLO WORLD两两分组得到(H,E)、 (L,L)、(O, )、(W,O)、(R,L)、(D);根据索引表找到每个字符对应的值,得到(17,14)、 (21,21)、(24,36)、(32,24)、(27,21)、(13);将每组数字先转成45进制、再将结果转成长度11的二进制串,长度不足的补0。

例如(17,14) 转成45进制为17*45 14=779,再将779转成二进制 1100001011,左边补1个0得到01100001011,如果最后一组是单独一个,则转成6位的二进制串,所以字符串HELLO WORLD经过字符编码之后,再加上前面计算好的模式指示符和字符计数指示符之后最终得到0010 000001011 01100001011 01111000110 10001011100 10110111000 10011010100 001101。

4、 在确定二维码的版本和纠错级别以后,字符串的编码结果应该是一个固定长度的二进制串,如果我们计算的结果长度不够就需要进行不起操作。例如确定二维码的版本1和纠错级别Q,则最终二进制串的长度需要达到104位。在第3步中我们得到的最二进制串的长度为74,所以需要进行补齐操作。首先末尾可以至多追加4个0,接着末尾补齐更多的0直到长度是8的倍数,如追加4个0后长度达到78,要达到8的倍数则还需要补2个0;如果这时候长度还没有达到目标,那就在末尾循环追加固定的二进制码11101100 00010001直到达到目标长度。

最后来看一下HELLO WORLD经过字符编码之后结果掩码图源字符串在经过编码之后被转换成二进制的数字串,根据这个二进制数字串画出来的二维码通常会存在黑白色块分布不均的情况,这会导致二维码容易扫描失败。为了解决这个问题,官方提供了8种掩码方案:我们需要选择一个掩码图与我们生成的二维码再做一次异或操作,这样黑白色块分布就会更加的均匀。

本文到此结束,希望对大家有所帮助。

君子莲(www.junzilian.com)湘潭网,关注长株潭地区房产、人才招聘、教育、创业、旅游、美食、天气、特产、生活周边信息,欢迎投稿给我们!

最近更新

  • 2021视频自媒体平台排行榜:快手上榜,第二火到海外

      现在是一个互联网非常发达的时代,所以从互联网中衍生出了一个新兴职业,这种职业被叫做为自媒体,一般被人们叫做为网红,做自媒体需要有创意和剪辑视频的能力,从而吸引粉丝来为你买单,新沂网今天要为大家带来的是2021视频

    互联网 日期:2021-03-18

  • 自媒体赚钱的十大平台:微视上榜,第一全世界使用范围广

      自媒体是现在非常年轻也是非常火爆的一种职业,因为做自媒体不需要遭受公司和上级的限制,只要自己想出好的题材,并且将自己的视频剪辑投入到各大平台中即可,只要有了粉丝,就会有广告商找你接推广,新沂网今天要为大家带来

    互联网 日期:2021-03-18

  • 中国十大自媒体平台:今日头条山上榜,第三有热搜榜

      自媒体这份职业的局限性没有那么高,不需要你有超高的学历,也不需要你有过人的颜值和身材,就算是普通的大众也可以做,通过网络或者视频平台等途径,发布自己所做的视频,从而来吸引其他人来观看,新沂网今天要为大家盘点的是

    互联网 日期:2021-03-18

  • 同城配送平台排行榜:人人快送上榜,美团配送第三

      现在大家的生活越来越便捷,很多东西只需要在手机上轻松的下单,就会有专门的平台直接送到家门口,现在不仅有跨地域的快递,还有同城配送的平台,今天我们就来说一说同城配送平台。同城配送平台排行榜  1.蜂鸟即配  2.

    互联网 日期:2021-03-16

  • 十大画图软件排行榜:CorelDRAW上榜,PS第一

      说到画图,我们脑海里会浮现出一个人拿着颜色笔在画本上认真的作画,而这一次我们要说的是与传统的绘画相对的网上绘画,现在很多人都在学习在电脑上绘画,用各种软件画出各种逼真的图画。十大画图软件软件排行榜  1.Ad

    互联网 日期:2021-03-11

  • 十大免费自学网站:B站上榜,我要自学网第一

      随着互联网的繁荣,大家能够在网络上获取的资源也越来越多,很多人能够突破时间和空间的限制,获取自己所需要的各种只是资源,今天有很多人在网络上自主学习自己想要学习的知识。十大免费自学网站  1.我要自学网  2.

    互联网 日期:2021-03-10

  • 电脑杀毒软件十大排名:金山毒霸上榜,360杀毒第一

      很多人使用电脑都会隔一段时间杀一次毒,即使是你不杀毒,系统也会提醒你到了该杀毒的时候了,电脑杀毒之后运行的会更加通常,还可以避免一些病毒的攻击,今天就来说一说常用的杀毒软件。电脑杀毒软件十大排名  1.360杀

    互联网 日期:2021-03-10

  • 2019十大网络流行语:爱的魔力转圈圈上榜 第2李佳琦带火

      加入2019年快要3个月了,是时候先来和小编一起盘点一下2019十大网络流行语,有今年年初新出的爆红网络的流行词,2018十大网络流行语你都get了吗?还有些词从2018年一直火到2019年,新沂网小编会对2019年最新网络流行语进行

    互联网 日期:2021-03-10

互联网排行榜精选