CN111178476A - 二维码生成和识别方法、装置、计算机设备和存储介质 - Google Patents
二维码生成和识别方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111178476A CN111178476A CN201911158886.1A CN201911158886A CN111178476A CN 111178476 A CN111178476 A CN 111178476A CN 201911158886 A CN201911158886 A CN 201911158886A CN 111178476 A CN111178476 A CN 111178476A
- Authority
- CN
- China
- Prior art keywords
- partition
- dimensional code
- characters
- character string
- segment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000005192 partition Methods 0.000 claims abstract description 229
- 238000004590 computer program Methods 0.000 claims description 17
- 238000012795 verification Methods 0.000 claims description 12
- 230000011218 segmentation Effects 0.000 claims description 11
- 238000000638 solvent extraction Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06037—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Character Discrimination (AREA)
Abstract
本申请涉及一种二维码生成和识别方法、***、计算机设备和存储介质。所述方法包括:获取已有二维码字符以及新增字符;将所述已有二维码字符划入兼容分区,将所述新增字符划入自定义分区;根据所述新增字符的用途将所述自定义分区拆分为多个分段;对所述自定义分区对应的多个分段利用预设协议进行编码,得到自定义段描述;将所述兼容分区的已有二维码字符与所述自定义段描述进行拼接,生成兼容二维码字符。采用本方法能够有效的提高二维码的兼容性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种二维码生成和识别方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,二维码技术现在已经广泛得到应用,尤其是在物联网的场景下,很多设备的组网以及控制都需要借助二维码作为控制入网的数据存储装置,根据应用的场景不同,采用的二维码读头也不同,二维码读头可以实现与通道闸机、智能门禁、自助终端等完美内嵌,可读取手机屏幕和纸质文档条码信息等。
然而,目前的二维码读头是由不同的厂商提供,因而二维码的编解码算法也不相同,存在不同厂商之间二维码不兼容的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高兼容性的二维码生成和识别方法、装置、计算机设备和存储介质。
一种二维码生成方法,所述方法包括:
获取已有二维码字符以及新增字符;
将所述已有二维码字符划入兼容分区,将所述新增字符划入自定义分区;
根据所述新增字符的用途将所述自定义分区拆分为多个分段;
对所述自定义分区对应的多个分段利用预设协议进行编码,得到自定义段描述;
将所述兼容分区的已有二维码字符与所述自定义段描述进行拼接,生成兼容二维码字符。
在一个实施例中,所述对所述自定义分区对应的多个分段利用预设协议进行编码,得到自定义段描述包括:
将所述自定义分区对应的分段标记为自定义段;
根据预设字符长度,对所述自定义段对应的字符串类型进行枚举;
对所述自定义段进行加密得到自定义段的字符串内容;
对所述自定义段的字符串内容进行计算并编码,得到字符串内容对应的字符长度;
根据所述字符串类型、所述字符串内容以及所述字符串内容对应的字符长度,进行组合得到自定义段描述。
在一个实施例中,所述对所述自定义分区对应的多个分段利用预设协议进行编码,得到自定义段描述还包括:
将所述自定义段字符串内容对应的字符长度与预设自定义段参数匹配,进行合法性验证。
在一个实施例中,所述对所述自定义分区对应的多个分段利用预设协议进行编码,得到自定义段描述还包括:
将所述自定义段对应的字符串类型与预设自定义段参数匹配,进行合法性验证。
一种二维码生成装置,所述装置包括:
获取模块,用于获取已有二维码字符以及新增字符;
分区模块,用于将所述已有二维码字符划入兼容分区,将所述新增字符划入自定义分区;
拆分模块,用于根据所述新增字符的用途将所述自定义分区拆分为多个分段;
编码模块,用于对所述自定义分区对应的多个分段利用预设协议进行编码,得到自定义段描述;
拼接模块,用于将所述兼容分区的已有二维码字符与所述自定义段描述进行拼接,生成兼容二维码字符。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取已有二维码字符以及新增字符;
将所述已有二维码字符划入兼容分区,将所述新增字符划入自定义分区;
根据所述新增字符的用途将所述自定义分区拆分为多个分段;
对所述自定义分区对应的多个分段利用预设协议进行编码,得到自定义段描述;
将所述兼容分区的已有二维码字符与所述自定义段描述进行拼接,生成兼容二维码字符。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取已有二维码字符以及新增字符;
将所述已有二维码字符划入兼容分区,将所述新增字符划入自定义分区;
根据所述新增字符的用途将所述自定义分区拆分为多个分段;
对所述自定义分区对应的多个分段利用预设协议进行编码,得到自定义段描述;
将所述兼容分区的已有二维码字符与所述自定义段描述进行拼接,生成兼容二维码字符。
一种二维码识别方法,所述方法包括:
读取二维码字符以及自定义段描述;
识别所述二维码字符中的分区分隔符,根据所述分区分隔符得到对应的多个分区;
在每个分区中读取分段分隔符,将每个分区解析为多个分段;
识别所述分段对应的字符串类型,将所述字符串类型与自定义段描述进行匹配;
若匹配成功,则确定所述分段对应的分区为自定义分区,解析所述自定义分区对应的新增字符;
若匹配失败,则确定所述分段对应的分区为兼容分区,读取所述兼容分区对应的已有二维码字符;
利用解析后的新增字符与所述已有二维码字符生成扫描信息。
在一个实施例中,所述解析所述自定义分区对应的新增字符,包括:
根据预设字符长度,读取自定义段描述,得到对应的字符串类型;
读取字符串内容对应的字符长度,得到对应的字符串内容并进行转换;
根据所述字符串类型,对所述字符串内容进行解码,得到自定义段描述对应的扫描信息。
一种二维码识别装置,所述装置包括:
读取模块,用于读取二维码字符以及自定义段描述;
识别模块,用于识别所述二维码字符中的分区分隔符,根据所述分区分隔符得到对应的多个分区;
解析模块,用于在每个分区中读取分段分隔符,将每个分区解析为多个分段;
匹配模块,用于识别所述分段对应的字符串类型,将所述字符串类型与自定义段描述进行匹配;若匹配成功,则确定所述分段对应的分区为自定义分区,解析所述自定义分区对应的新增字符;若匹配失败,则确定所述分段对应的分区为兼容分区,读取所述兼容分区对应的已有二维码字符;
生成模块,用于利用解析后的新增字符与所述已有二维码字符生成扫描信息。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
读取二维码字符以及自定义段描述;
识别所述二维码字符中的分区分隔符,根据所述分区分隔符得到对应的多个分区;
在每个分区中读取分段分隔符,将每个分区解析为多个分段;
识别所述分段对应的字符串类型,将所述字符串类型与自定义段描述进行匹配;
若匹配成功,则确定所述分段对应的分区为自定义分区,解析所述自定义分区对应的新增字符;
若匹配失败,则确定所述分段对应的分区为兼容分区,读取所述兼容分区对应的已有二维码字符;
利用解析后的新增字符与所述已有二维码字符生成扫描信息。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
读取二维码字符以及自定义段描述;
识别所述二维码字符中的分区分隔符,根据所述分区分隔符得到对应的多个分区;
在每个分区中读取分段分隔符,将每个分区解析为多个分段;
识别所述分段对应的字符串类型,将所述字符串类型与自定义段描述进行匹配;
若匹配成功,则确定所述分段对应的分区为自定义分区,解析所述自定义分区对应的新增字符;
若匹配失败,则确定所述分段对应的分区为兼容分区,读取所述兼容分区对应的已有二维码字符;
利用解析后的新增字符与所述已有二维码字符生成扫描信息。
上述二维码生成方法、装置、计算机设备和存储介质,通过获取已有二维码字符以及新增字符,将已有二维码字符划入兼容分区,将新增字符划入自定义分区。根据新增字符的用途将自定义分区拆分为多个分段,对自定义分区对应的多个分段利用预设协议进行编码,得到自定义段描述。将兼容分区的已有二维码字符与自定义段描述进行拼接,生成兼容二维码字符。通过采用分区分段的方式,将二维码字符划分为兼容区域和自定义区域,对自定义分区的二维码新增字符进行编码并与兼容分区进行拼接,相对于传统的二维码生成方式,由此使得不同分区可以兼容不同内容的二维码字符,从而提高了二维码字符的兼容性。
上述二维码识别方法、装置、计算机设备和存储介质,通过读取二维码字符以及自定义段描述,识别二维码字符中的分区分隔符,根据分区分隔符得到对应的多个分区。在每个分区中读取分段分隔符,将每个分区解析为多个分段,识别每个分段对应的字符串类型,将字符串类型与自定义段描述进行匹配。若匹配成功,则确定分段对应的分区为自定义分区,解析自定义分区对应的新增字符。若匹配失败,则确定分段对应的分区为兼容分区,读取兼容分区对应的已有二维码字符。利用解析后的新增字符与已有二维码字符生成扫描信息。通过将字符串类型与自定义段描述进行匹配,可以确定分段对应的分区为自定义分区,解析自定义分区对应的新增字符,相对于传统的二维码识别方式,利用解析后的新增字符与已有二维码字符生成扫描信息,由此使得可以识别不同类型二维码的信息,从而提高了二维码的兼容性。
附图说明
图1为一个实施例中二维码生成和识别方法的应用场景图;
图2为一个实施例中二维码生成方法的流程示意图;
图3为一个实施例中对自定义分区对应的多个分段利用预设协议进行编码,得到自定义段描述步骤的流程示意图;
图4为另一个实施例中二维码识别方法的流程示意图;
图5为一个实施例中解析自定义分区对应的新增字符的步骤的流程示意图;
图6为一个实施例中二维码生成装置的结构框图;
图7为一个实施例中二维码识别装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的方法,可以应用于如图1所示的应用环境中。其中,第一终端102通过网络与第二终端104通过网络进行通信。第一终端102获取已有二维码字符以及新增字符,将已有二维码字符划入兼容分区,将新增字符划入自定义分区。第一终端102根据新增字符的用途将自定义分区拆分为多个分段,对自定义分区对应的多个分段利用预设协议进行编码,得到自定义段描述。第一终端102将兼容分区的已有二维码字符与自定义段描述进行拼接,生成兼容二维码字符发送到第二终端104,二维码读头通过识别第二终端104接收到的兼容二维码字符,生成对应的扫描信息。其中,第一终端102和第二终端104可以但不限于是各种个人计算机、笔记本电脑、智能手机和平板电脑。
在一个实施例中,如图2所示,提供了一种二维码生成方法,以该方法应用于图1中的第一终端为例进行说明,包括以下步骤:
步骤202,获取已有二维码字符以及新增字符。
第一终端根据二维码的应用场景的不同,可以获取到不同类型的二维码内容。第一终端将需要进行编码的二维码内容按照实际用途的不同,分成多个组。例如用于开启智能门禁的二维码、用于地铁出行的闸机识别二维码以及用于线下手机支付的二维。第一终端根据二维码内容的不同获取对应的字符信息,其中,字符信息包括已有二维码字符以及新增字符。一个二维码可以描述多种类型信息,已有二维码字符是根据历史信息或已有的二维码功能获取到的已有二维码字符,新增字符可以是根据二维码新增的内容信息或者用途获取到的新增字符信息。
步骤204,将已有二维码字符划入兼容分区,将新增字符划入自定义分区。
步骤206,根据新增字符的用途将自定义分区拆分为多个分段。
第一终端根据获取到的二维码的内容不同,可以根据二维码的不同类型划分为不同的分区,具体的,将已有二维码字符划入兼容分区,将新增字符划入自定义分区,分区可以包括同一种类型的二维码内容集合,其中,兼容分区可以包括多个不同类型的兼容分区,自定义分区可以是工作人员根据需要生产的二维码内容自定义添加新的字符以及自定义描述。进一步的,第一终端可以根据自定义分区中的新增字符的不同用途,将自定义分区拆分为多个不同的段,每个段的内容可以兼容本文字符和链接等信息,且加密方式支持动态拓展。
步骤208,对自定义分区对应的多个分段利用预设协议进行编码,得到自定义段描述。
步骤210,将兼容分区的已有二维码字符与自定义段描述进行拼接,生成兼容二维码字符。
第一终端根据划分的不同区域,对自定义分区对应的多个分段,利用预设协议进行编码,例如第一终端可以利用TLV协议对自定分区中的自定义段进行编码,得到自定义段描述。第一终端将自定义段描述与兼容分区中已有的二维码字符进行拼接,生成兼容二维码字符发送到第二终端。
本实施例中,通过获取已有二维码字符以及新增字符,将已有二维码字符划入兼容分区,将新增字符划入自定义分区。根据新增字符的用途将自定义分区拆分为多个分段,对自定义分区对应的多个分段利用预设协议进行编码,得到自定义段描述。将兼容分区的已有二维码字符与自定义段描述进行拼接,生成兼容二维码字符。通过采用分区分段的方式,将二维码字符划分为兼容区域和自定义区域,对自定义分区的二维码新增字符进行编码并与兼容分区进行拼接,相对于传统的二维码生成方式,由此使得不同分区可以兼容不同内容的二维码字符,从而提高了二维码字符的兼容性。
在一个实施例中,如图3所示,对自定义分区对应的多个分段利用预设协议进行编码,得到自定义段描述的步骤,包括:
步骤302,将自定义分区对应的分段标记为自定义段。
步骤304,根据预设字符长度,对自定义段对应的字符串类型进行枚举。
步骤306,对自定义段进行加密得到自定义段的字符串内容。
步骤308,对自定义段的字符串内容进行计算并编码,得到字符串内容对应的字符长度。
步骤310,根据字符串类型、字符串内容以及字符串内容对应的字符长度,进行组合得到自定义段描述。
第一终端根据划分的不同区域,对自定义分区对应的多个分段,利用预设协议进行编码,可以得到自定义段描述。具体的,第一终端将自定义分区对应的分段标记为自定义段,第一终端根据预设定义的字符长度,对自定义段对应的字符串类型进行枚举。其中,预设字符长度可以为2个字符。进一步的,第一终端可以采用不同加密技术对自定义段进行加密,得到自定义段的字符串内容。第一终端对得到的字符串内容进行计算,计算出字符串内容对应的字符长度,然后根据不同的编码方式对字符串的内容进行编码转换,得到转换后的字符串内容对应的字符长度。第一终端利用TLV协议根据字符串类型、字符串内容以及字符串内容对应的字符长度,进行组合得到自定义段描述。
以需要编码的新增字符为一种离线字符串进行举例说明。第一终端将自定义分区对应的分段标记为自定义段,第一终端根据预设定义的字符长度枚举字符串的类型,预设的字符长度可以为2个字符。第一终端预制自定义段的字符串类型可以包括:离线字符串、离线算法描述、在线字符串等。第一终端对自定义段对应的字符串类型进行枚举,例如:01对应离线字符串、sf对应离线算法描述、02对应在线字符串等。进一步的,第一终端利用3des加密技术对需要加密的内容进行加密,得到该离线字符串的内容为10997。第一终端对自定义段的字符串内容10997进行计算,得到对应的字符串内容对应的字符长度为04。再将字符串内容10997进行16进制编码,得到转换后的字符串内容为2AF5。第一终端利用TLV协议根据字符串类型为01、字符串内容为2AF5以及字符串内容对应的字符长度为04,进行组合得到自定义段描述为01 04 2AF5。由此使得二维码可以兼容多个不同分区的内容,彼此互不影响,通过划分兼容区域和自定义区域,解决了各类二维码读头编码不一致的情况,有效的提高了二维码的兼容性。
在一个实施例中,对自定义分区对应的多个分段利用预设协议进行编码,得到自定义段描述的步骤,还包括:
将自定义段字符串内容对应的字符长度与预设自定义段参数匹配,进行合法性验证。
第一终端在进行编码的过程中,可以通过将自定义段字符串内容对应的字符长度与预设自定义段参数匹配,进行合法性验证。例如预设自定义段参数中的自定义段字符串内容对应的字符长度为08,但进行合法性验证时,识别出现了自定义段字符串内容对应的字符长度为088,即出现了错误的TLV编码。由此使得在进行编码过程中,通过进行合法性效验,能够有效的检查自定义分区中是否出现了错误的TLV编码,防止出现不可识别的二维码字符串。
在一个实施例中,对自定义分区对应的多个分段利用预设协议进行编码,得到自定义段描述的步骤,还包括:
将自定义段对应的字符串类型与预设自定义段参数匹配,进行合法性验证。
第一终端在进行编码的过程中,也可以通过将自定义段对应的字符串类型与预设自定义段参数匹配,进行合法性验证。例如预设自定义段参数中的自定义段对应的字符串类型为01离线字符串,但进行合法性验证时,识别出现了自定义段对应的字符串类型为02在线字符串,也是出现了错误的TLV编码。由此使得在进行编码过程中,通过进行合法性效验,能够有效的检查自定义分区中是否出现了错误的TLV编码,防止出现不可识别的二维码字符串。
在一个实施例中,如图4所示,提供了一种二维码识别方法,以该方法应用于图1中的第二终端为例进行说明,包括以下步骤:
步骤402,读取二维码字符以及自定义段描述。
二维码读头可以被安装内嵌于各种终端设备上作为二维码识别组件应用。比如将二维码读头封装配上一个外壳便成为了商场超市上常见的扫描枪,将二维码读头安装到自助售卖机上,使用支付宝或微信支付码置入机器的二维码支付窗口(即付款码感应区)便能自助付款。二维码读头可以通过识别上述实施例中第二终端接收的兼容的二维码字符,读取二维码字符以及预制的自定义段描述,自定义段描述是利用预设协议进行编码后生成的字符串。其中,读取编码格式可以为多种,例如读取编码格式为(iso-8859-01)。
步骤404,识别二维码字符中的分区分隔符,根据分区分隔符得到对应的多个分区。
步骤406,在每个分区中读取分段分隔符,将每个分区解析为多个分段。
步骤408,识别分段对应的字符串类型,将字符串类型与自定义段描述进行匹配。
步骤410,若匹配成功,则确定分段对应的分区为自定义分区,解析自定义分区对应的新增字符。
步骤412,若匹配失败,则确定分段对应的分区为兼容分区,读取兼容分区对应的已有二维码字符。
步骤414,利用解析后的新增字符与已有二维码字符生成扫描信息。
二维码读头通过识别上述实施例中第二终端接收的兼容的二维码字符,二维码读头逐字符读取该二维码内容,默认按照分区解析进行读取,当遇到分区分割符时,该分区读取结束,进行下一个分区读取,由此根据读取到的分区分隔符得到对应的多个分区。其中,多个分区可以包括兼容区域和自定义区域。进一步的,二维码读头在每个分区读取时,当遇到分段分隔符时,进行分段读取,从而将每个分区解析为多个分段。读取分段时,识别分段对应的字符串类型,将字符串类型与自定义段描述进行匹配。判断字符串类型是否匹配此前预制好的字符串类型,例如段开头两位长度字符是否匹配01,当匹配成功时,说明此段是一个自定义段,进行自定义解析。具体的,二维码读头读取此段,进行解密操作,如利用3des进行解析得到该自定义段原始内容。该段读完后,往下读取是否存在段分隔符,若存在,继续读取下一段,判断是否为自定义段解析的步骤如上所述。若不存在则开始读取下个分区,若下个分区不存在,则二维码解析结束,利用解析后的新增字符与已有二维码字符生成扫描信息。当匹配失败时,说明此段是一个普通段,进行普通段解析。具体的,二维码读头读取此段,获取已有二维码字符。该段读完后,往下读取是否存在段分隔符,若存在,继续读取下一段;若不存在则开始读取下个分区,若下个分区不存在,则二维码解析结束,利用解析后的新增字符与已有二维码字符生成扫描信息。
本实施例中,通过读取二维码字符以及自定义段描述,识别二维码字符中的分区分隔符,根据分区分隔符得到对应的多个分区。在每个分区中读取分段分隔符,将每个分区解析为多个分段,识别每个分段对应的字符串类型,将字符串类型与自定义段描述进行匹配。若匹配成功,则确定分段对应的分区为自定义分区,解析自定义分区对应的新增字符。若匹配失败,则确定分段对应的分区为兼容分区,读取兼容分区对应的已有二维码字符。利用解析后的新增字符与已有二维码字符生成扫描信息。通过将字符串类型与自定义段描述进行匹配,可以确定分段对应的分区为自定义分区,解析自定义分区对应的新增字符,相对于传统的二维码识别方式,利用解析后的新增字符与已有二维码字符生成扫描信息,由此使得可以识别不同类型二维码的信息,从而提高了二维码的兼容性。
在一个实施例中,如图5所示,解析自定义分区对应的新增字符的步骤,包括:
步骤502,根据预设字符长度,读取自定义段描述,得到对应的字符串类型。
步骤504,读取字符串内容对应的字符长度,得到对应的字符串内容并进行转换。
步骤506,根据字符串类型,对字符串内容进行解码,得到自定义段描述对应的扫描信息。
当二维码读头在每个分区中读取分段分隔符,将每个分区解析为多个分段,识别每个分段对应的字符串类型,将字符串类型与自定义段描述进行匹配。当匹配成功时,进行自定义解析。具体的,二维码读头根据预设字符长度,读取自定义段描述,得到对应的字符串类型,例如预设字符长度可以为2个字符。进一步的,二维码读头读取字符串内容对应的字符长度,进行转换后得到对应的字符串内容,二维码读头可以利用不同解密方法对字符串内容进行解码,例如当读取到字符串类型为sf离线算法描述时,则按照该离线算法描述对字符串内容进行解密,得到自定义段描述对应的扫描信息。
以自定义段描述为01 04 2AF5举例说明。二维码读头根据预设字符长度为2个字符,开始读取2个长度字符得到字符串01对应的字符串类型为离线字符串。再读取2个长度字符为04,获取到字符串内容对应的字符长度04,然后再读取4个长度字符,这4个长度的字符对应的2AF5就是此段二维码的字符串内容,将16进制编码的字符串内容2AF5转换为10进制,得到字符串内容为10997。二维码读头可以利用3des技术对字符串内容10997进行解码,得到自定义段描述对应的扫描信息。由此使得可以兼容二维码读头程序从指定标识符开始到指定标识符结束的解码程序,即使使用同一个二维码,根据不同需求也可以识别出不同的二维码信息,读头装置无需做过多改动,实现了二维码很好的兼容。
应该理解的是,虽然图1-5流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种二维码生成装置,包括:获取模块602、分区模块604、拆分模块606、编码模块608和拼接模块610,其中:
获取模块602,用于获取已有二维码字符以及新增字符。
分区模块604,用于将已有二维码字符划入兼容分区,将新增字符划入自定义分区。
拆分模块606,用于根据新增字符的用途将自定义分区拆分为多个分段。
编码模块608,用于对自定义分区对应的多个分段利用预设协议进行编码,得到自定义段描述。
拼接模块610,用于将兼容分区的已有二维码字符与自定义段描述进行拼接,生成兼容二维码字符。
在一个实施例中,该装置还包括:标记模块、加密模块和组合模块。
标记模块用于将自定义分区对应的分段标记为自定义段,根据预设字符长度,对自定义段对应的字符串类型进行枚举。加密模块用于对自定义段进行加密得到自定义段的字符串内容。编码模块608还用于对自定义段的字符串内容进行计算并编码,得到字符串内容对应的字符长度。组合模块用于根据字符串类型、字符串内容以及字符串内容对应的字符长度,进行组合得到自定义段描述。
在一个实施例中,该装置还包括:匹配模块。
匹配模块用于将自定义段字符串内容对应的字符长度与预设自定义段参数匹配,进行合法性验证。
在一个实施例中,匹配模块还用于将自定义段对应的字符串类型与预设自定义段参数匹配,进行合法性验证。
在一个实施例中,如图7所示,提供了一种二维码识别装置,包括:读取模块702、识别模块704、解析模块706、匹配模块708和生成模块710,其中:
读取模块702,用于读取二维码字符以及自定义段描述。
识别模块704,用于识别二维码字符中的分区分隔符,根据分区分隔符得到对应的多个分区。
解析模块706,用于在每个分区中读取分段分隔符,将每个分区解析为多个分段。
匹配模块708,用于识别分段对应的字符串类型,将字符串类型与自定义段描述进行匹配;若匹配成功,则确定分段对应的分区为自定义分区,解析自定义分区对应的新增字符;若匹配失败,则确定分段对应的分区为兼容分区,读取兼容分区对应的已有二维码字符。
生成模块710,用于利用解析后的新增字符与已有二维码字符生成扫描信息。
在一个实施例中,该装置还包括:转换模块和解码模块。
读取模块702还用于根据预设字符长度,读取自定义段描述,得到对应的字符串类型。转换模块用于读取字符串内容对应的字符长度,得到对应的字符串内容并进行转换。解码模块用于根据字符串类型,对字符串内容进行解码,得到自定义段描述对应的扫描信息。
关于二维码生成和识别装置的具体限定可以参见上文中对于二维码生成和识别方法的限定,在此不再赘述。上述二维码生成和识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种二维码生成和识别方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述各个方法实施例的步骤。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述各个方法实施例的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种二维码生成方法,所述方法包括:
获取已有二维码字符以及新增字符;
将所述已有二维码字符划入兼容分区,将所述新增字符划入自定义分区;
根据所述新增字符的用途将所述自定义分区拆分为多个分段;
对所述自定义分区对应的多个分段利用预设协议进行编码,得到自定义段描述;
将所述兼容分区的已有二维码字符与所述自定义段描述进行拼接,生成兼容二维码字符。
2.根据权利要求1所述的方法,其特征在于,所述对所述自定义分区对应的多个分段利用预设协议进行编码,得到自定义段描述包括:
将所述自定义分区对应的分段标记为自定义段;
根据预设字符长度,对所述自定义段对应的字符串类型进行枚举;
对所述自定义段进行加密得到自定义段的字符串内容;
对所述自定义段的字符串内容进行计算并编码,得到字符串内容对应的字符长度;
根据所述字符串类型、所述字符串内容以及所述字符串内容对应的字符长度,进行组合得到自定义段描述。
3.根据权利要求2所述的方法,其特征在于,所述对所述自定义分区对应的多个分段利用预设协议进行编码,得到自定义段描述还包括:
将所述自定义段字符串内容对应的字符长度与预设自定义段参数匹配,进行合法性验证。
4.根据权利要求2所述的方法,其特征在于,所述对所述自定义分区对应的多个分段利用预设协议进行编码,得到自定义段描述还包括:
将所述自定义段对应的字符串类型与预设自定义段参数匹配,进行合法性验证。
5.一种二维码识别方法,所述方法包括:
读取二维码字符以及自定义段描述;
识别所述二维码字符中的分区分隔符,根据所述分区分隔符得到对应的多个分区;
在每个分区中读取分段分隔符,将每个分区解析为多个分段;
识别所述分段对应的字符串类型,将所述字符串类型与自定义段描述进行匹配;
若匹配成功,则确定所述分段对应的分区为自定义分区,解析所述自定义分区对应的新增字符;
若匹配失败,则确定所述分段对应的分区为兼容分区,读取所述兼容分区对应的已有二维码字符;
利用解析后的新增字符与所述已有二维码字符生成扫描信息。
6.根据权利要求5所述的方法,其特征在于,所述解析所述自定义分区对应的新增字符,包括:
根据预设字符长度,读取自定义段描述,得到对应的字符串类型;
读取字符串内容对应的字符长度,得到对应的字符串内容并进行转换;
根据所述字符串类型,对所述字符串内容进行解码,得到自定义段描述对应的扫描信息。
7.一种二维码生成装置,其特征在于,所述装置包括:
获取模块,用于获取已有二维码字符以及新增字符;
分区模块,用于将所述已有二维码字符划入兼容分区,将所述新增字符划入自定义分区;
拆分模块,用于根据所述新增字符的用途将所述自定义分区拆分为多个分段;
编码模块,用于对所述自定义分区对应的多个分段利用预设协议进行编码,得到自定义段描述;
拼接模块,用于将所述兼容分区的已有二维码字符与所述自定义段描述进行拼接,生成兼容二维码字符。
8.一种二维码识别装置,其特征在于,所述装置包括:
读取模块,用于读取二维码字符以及自定义段描述;
识别模块,用于识别所述二维码字符中的分区分隔符,根据所述分区分隔符得到对应的多个分区;
解析模块,用于在每个分区中读取分段分隔符,将每个分区解析为多个分段;
匹配模块,用于识别所述分段对应的字符串类型,将所述字符串类型与自定义段描述进行匹配;若匹配成功,则确定所述分段对应的分区为自定义分区,解析所述自定义分区对应的新增字符;若匹配失败,则确定所述分段对应的分区为兼容分区,读取所述兼容分区对应的已有二维码字符;
生成模块,用于利用解析后的新增字符与所述已有二维码字符生成扫描信息。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911158886.1A CN111178476A (zh) | 2019-11-22 | 2019-11-22 | 二维码生成和识别方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911158886.1A CN111178476A (zh) | 2019-11-22 | 2019-11-22 | 二维码生成和识别方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111178476A true CN111178476A (zh) | 2020-05-19 |
Family
ID=70653756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911158886.1A Pending CN111178476A (zh) | 2019-11-22 | 2019-11-22 | 二维码生成和识别方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111178476A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111950233A (zh) * | 2020-07-29 | 2020-11-17 | 北京德为智慧科技有限公司 | 扫码识别方法及装置、电子设备、可读存储介质 |
CN112801652A (zh) * | 2020-12-31 | 2021-05-14 | 网银在线(北京)科技有限公司 | 用于扫描编码图形的信息处理方法和装置 |
CN113659993A (zh) * | 2021-08-17 | 2021-11-16 | 深圳市康立生物医疗有限公司 | 免疫批次数据处理方法、装置、终端及可读存储介质 |
CN114037038A (zh) * | 2021-11-09 | 2022-02-11 | 广州瀚鼎信息科技有限公司 | 一种自定义设置码的方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104616047A (zh) * | 2015-02-28 | 2015-05-13 | 立德高科(北京)数码科技有限责任公司 | 一种二维码及其生成方法与识别方法 |
CN105577376A (zh) * | 2014-10-13 | 2016-05-11 | 航天信息股份有限公司 | 二维码的编解码和认证方法和装置 |
CN105976005A (zh) * | 2016-04-26 | 2016-09-28 | 鸿博股份有限公司 | 二维码加密方法、二维码生成设备和二维码扫描设备 |
-
2019
- 2019-11-22 CN CN201911158886.1A patent/CN111178476A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105577376A (zh) * | 2014-10-13 | 2016-05-11 | 航天信息股份有限公司 | 二维码的编解码和认证方法和装置 |
CN104616047A (zh) * | 2015-02-28 | 2015-05-13 | 立德高科(北京)数码科技有限责任公司 | 一种二维码及其生成方法与识别方法 |
CN105976005A (zh) * | 2016-04-26 | 2016-09-28 | 鸿博股份有限公司 | 二维码加密方法、二维码生成设备和二维码扫描设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111950233A (zh) * | 2020-07-29 | 2020-11-17 | 北京德为智慧科技有限公司 | 扫码识别方法及装置、电子设备、可读存储介质 |
CN112801652A (zh) * | 2020-12-31 | 2021-05-14 | 网银在线(北京)科技有限公司 | 用于扫描编码图形的信息处理方法和装置 |
CN112801652B (zh) * | 2020-12-31 | 2024-05-17 | 网银在线(北京)科技有限公司 | 用于扫描编码图形的信息处理方法和装置 |
CN113659993A (zh) * | 2021-08-17 | 2021-11-16 | 深圳市康立生物医疗有限公司 | 免疫批次数据处理方法、装置、终端及可读存储介质 |
CN114037038A (zh) * | 2021-11-09 | 2022-02-11 | 广州瀚鼎信息科技有限公司 | 一种自定义设置码的方法及*** |
CN114037038B (zh) * | 2021-11-09 | 2024-01-30 | 广州瀚鼎信息科技有限公司 | 一种自定义设置码的方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111178476A (zh) | 二维码生成和识别方法、装置、计算机设备和存储介质 | |
CN108512830B (zh) | 信息加密处理方法、装置、计算机设备和存储介质 | |
CN109766072B (zh) | 信息校验输入方法、装置、计算机设备和存储介质 | |
EP3418950A1 (en) | Data exchange method, data exchange device and computing device | |
CN111177749B (zh) | 加密源代码文件处理方法、装置、计算机设备和存储介质 | |
CN109376824B (zh) | 动态二维码生成方法和*** | |
CN110210270B (zh) | 二维码信息安全加固方法及***和二维码图像解析方法及*** | |
CN108897728B (zh) | 短信拼接处理方法、装置、计算机设备和存储介质 | |
CN110768784A (zh) | 密码传输方法、装置、计算机设备和存储介质 | |
CN110727949A (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN111586671B (zh) | 嵌入式用户识别卡配置方法、装置、通信设备和存储介质 | |
CN111192393B (zh) | 网络开门方法、装置和计算机设备 | |
CN109286933B (zh) | 认证方法、装置、***、计算机设备和存储介质 | |
CN109887046A (zh) | 图像处理方法、图像验证方法、装置、设备及介质 | |
CN108200087B (zh) | web入侵检测方法、装置、计算机设备和存储介质 | |
CN112528201A (zh) | 调用第三方平台的方法、装置、计算机设备和存储介质 | |
CN113709181A (zh) | 基于浏览器插件的网站登录方法、装置、设备及存储介质 | |
CN108055585A (zh) | 数据处理方法、机顶盒升级方法、终端和机顶盒 | |
CN107124279A (zh) | 擦除终端数据的方法及装置 | |
CN108667919B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN112632504B (zh) | 网页访问方法、装置、***、计算机设备和存储介质 | |
CN110647641A (zh) | 身份验证方法、装置、计算机设备和存储介质 | |
CN114448722B (zh) | 跨浏览器登录方法、装置、计算机设备和存储介质 | |
CN113254986B (zh) | 数据处理方法、装置及计算机可读存储介质 | |
CN112307518B (zh) | 签名信息处理、显示方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200519 |
|
RJ01 | Rejection of invention patent application after publication |