一种基于十六进制编码的构建二维码的方法技术

技术编号:2930021 阅读:684 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种基于十六进制编码的构建二维码的方法,属于信息存储、传递和识别技术领域。首先将用户的待转换成二维码的数据转换为字符序列,并将其按字符编码对照表转换成二进制位序列:根据数据类型,在二进制位序列前根据添加数据头,对二进制位序列进行冗余编码;将数据头、二进制位序列及冗余编码从左至右依次组合,形成数据位流;将上述数据位流中的数字填入到二维码矩阵中形成二维码图形。本发明专利技术方法的优点是采用十六进制编码,提高了编码效率,而且二维码的冗余小,所包含的信息量更大。

【技术实现步骤摘要】

本专利技术涉及,属于信息存储、传递和识别

技术介绍
已有的如图1所示的二维码,在水平和垂直方向的二维空间存储信息的条码,称为二维码(2-dimensional bar code),可直接显示英文、中文、数字、符号、图型;贮存数据量大,可存放1K字符,可用扫描设备直接读取内容,无需另接数据库;保密性高(可加密)。二维码可以分为堆叠式/行排式二维码和矩阵式二维码,其中堆叠式/行排式二维码形态上是由多行短截的一维条码堆叠而成;矩阵式二维码以矩阵的形式组成,在矩阵相应元素位置上用“点”表示二进制“1”,用“空”表示二进制“0”,由“点”和“空”的排列组成代码。矩阵式二维码又称棋盘式二维码,它是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。在矩阵相应元素位置上,用点(方点、圆点或其他形状)的出现表示二进制“1”,点的不出现表示二进制的“0”,点的排列组合确定了矩阵式二维码所代表的意义。矩阵式二维码是建立在计算机图像处理技术、组合编码原理等基础上的一种新型图形符号自动识读处理码制。已有二维码的编码方法包括第一步数据分析检查输入数据的数量是否为最大数据量,如果不够最大数据量则在输入数据后用固定字符序列填充。第二步数据编码根据ASCII字符表将输入数据中的每个字符转换成相对应的8位二进制位序列。第三步纠错编码将转换后的二进制位序列用某一纠错公式生成纠错码序列,并将其添加到数据位流序列后。第四步掩模用8种掩模图形依次对数据区域进行掩模处理,评价每种掩模后的数据,选择最优的一种即为最终编码位流。目前二维码的缺点是,解析速度慢、纠错能力有待提高、冗余大、对识别设备要求高。专利技术目的本专利技术的目的是提出,以提高二维码的解析速度和纠错能力,并减小冗余。本专利技术提出的基于十六进制编码的构建二维码的方法,包括以下步骤(1)对用户的待转换成二维码的数据进行判断,若为数字序列,则将数字序列作为一个十进制整数,并将其转换为十六进制的字符序列,当该十六进制字符序列的个数小于域值N时,在字符序列前补零,直至十六进制字符序列的个数达到域值;若为数字与字符混合字符序列,当该字符序列的字符个数小于域值时,在字符序列后添加填充字符序列,直至字符序列的字符个数达到域值N,域值N为一大于零的正整数;(2)对用户的待转换成二维码的数据进行判断,若为是数字序列,则按数字编码对照表,将上述相应的字符序列转换成二进制位序列;若为数字与字符混合序列,则按混合序列编码对照表将上述相应的字符序列转换成二进制位序列;(3)根据用户的待转换成二维码的数据类型,在上述二进制位序列前添加数据头,若为数字序列,则添加M位标志,M为一大于零的正整数;若为数字与字符混合字符序列,则用其中字符的个数X表示,再将个数X转换为相应的二进制数,X为一大于零的正整数;(4)对上述二进制位序列进行冗余编码;(5)将上述表征数据类型的数据头、上述二进制位序列以及冗余编码以任何次序进行组合,形成数据位流;(6)将上述数据位流中的每一个二进制位的数字填入到二维码矩阵中,二进制位中的0用空白表示,1用颜色表示,或0用颜色,1用空白表示,形成二维码图形。上述方法中的数字编码对照表中的字符为表示十六进制数的字符0~9和A~F,共十六个字符,其中任意一个字符的编码用任意四位二进制位表示,十六个字符的编码不重复。上述方法中,混合编码对照表中的字符为由0~9十个字符中任意一个或一个以上字符组成的子集与国家或国际所采用的字符集标准的子集组成,共十六个字符,其中任意一个字符的编码用任意四位二进制位表示,十六个字符的编码相互不重复。本专利技术提出的基于十六进制编码的构建二维码的方法,具有以下优点本方法采用十六进制编码,把编码效率提高到100%;本方法使用冗余编码算法进行冗余编码,以四个二进制位为一个编码单位,因此纠错力更强;本方法构建的二维码中,由于没有已有技术中快速响应矩阵码(Qrcode)的寻像图形、定位图形、校正图形等特征图形,没有分隔符、ECI指示符、版本指示符等额外的开销,二维码的冗余小,因此本方法构建的二维码所包含的信息量更大;本编码方法允许对除数字和英文字符以外的字符进行编码。附图说明图1是二维码的结构示意图。图2为本专利技术方法的一个实施例构建的二维码。图1中,1是空白区,2是颜色区。具体实施例方式本专利技术提出的基于十六进制编码的构建二维码的方法,首先对用户的待转换成二维码的数据进行判断,若为数字序列,则将数字序列作为一个十进制整数,并将其转换为十六进制的字符序列,当该十六进制字符序列的个数小于域值N时,在字符序列前补零,直至十六进制字符序列的个数达到域值;若为数字与字符混合字符序列,当该字符序列的字符个数小于域值时,在字符序列后添加填充字符序列,直至字符序列的字符个数达到域值N,域值N为一大于零的正整数;对用户的待转换成二维码的数据进行判断,若为是数字序列,则按数字编码对照表,将上述相应的字符序列转换成二进制位序列;若为数字与字符混合序列,则按混合序列编码对照表将上述相应的字符序列转换成二进制位序列;根据用户的待转换成二维码的数据类型,在上述二进制位序列前添加数据头,若为数字序列,则添加M位标志,M为一大于零的正整数;若为数字与字符混合字符序列,则用其中字符的个数X表示,再将个数X转换为相应的二进制数,X为一大于零的正整数;对二进制位序列进行冗余编码;将表征数据类型的数据头、二进制位序列以及冗余编码以任何次序进行组合,形成数据位流;将数据位流中的每一个二进制位的数字填入到二维码矩阵中,二进制位中的0用空白表示,1用颜色表示,或0用颜色,1用空白表示,形成二维码图形。上述方法中数字编码对照表中的字符为表示十六进制数的字符0~9和A~F,共十六个字符,其中任意一个字符的编码用任意四位二进制位表示,十六个字符的编码不重复。上述混合编码对照表中的字符为由0~9十个字符中任意一个或一个以上字符组成的子集与国家或国际所采用的字符集标准的子集组成,共十六个字符,其中任意一个字符的编码用任意四位二进制位表示,十六个字符的编码相互不重复。以下介绍本专利技术方法的两个实施例。实施例1设用户输入的数据为数字序列123456789,设十六进制字符序列的个数域值N为10;将其转换为十六进制字符序列为75BCD15,因其长度小于域值10,因此在十六进制字符序列前补零,即为00075BCD15,由于输入的数据为数字序列,因此按以下数字编码对照表 将十六进制字符序列转换成二进制位序列0000 0000 0000 0111 0101 1011 1100 1101 00010101,由于待转换数据序列为数字序列,因此在上述二进制位序列前添加M为4的标志位0000,即为0000 0000 0000 0000 0111 0101 1011 1100 1101 0001 0101;对该二进制位序列用Reed Solomon冗余编码方法进行冗余编码后,冗余码为0110 1010 1100 0100 0111,将上述表征待转换成二维码数据类型的数据头0000、上述二进制位序列0000 0000 00000111 0101 1011 1100 1101 0001 0101及冗余编码从左至右依次组合,形成数据位流,即本文档来自技高网...

【技术保护点】
一种基于十六进制编码的构建二维码的方法,其特征在于该方法包括以下步骤:(1)对用户的待转换成二维码的数据进行判断,若为数字序列,则将数字序列作为一个十进制整数,并将其转换为十六进制的字符序列,当该十六进制字符序列的个数小于域值N时, 在字符序列前补零,直至十六进制字符序列的个数达到域值;若为数字与字符混合字符序列,当该字符序列的字符个数小于域值时,在字符序列后添加填充字符序列,直至字符序列的字符个数达到域值N,域值N为一大于零的正整数;(2)对用户的待转换成二维 码的数据进行判断,若为是数字序列,则按数字编码对照表,将上述相应的字符序列转换成二进制位序列;若为数字与字符混合序列,则按混合序列编码对照表将上述相应的字符序列转换成二进制位序列;(3)根据用户的待转换成二维码的数据类型,在上述二进 制位序列前添加数据头,若为数字序列,则添加M位标志,M为一大于零的正整数;若为数字与字符混合字符序列,则用其中字符的个数X表示,再将个数X转换为相应的二进制数,X为一大于零的正整数;(4)对上述二进制位序列进行冗余编码;(5 )将上述表征数据类型的数据头、上述二进制位序列以及冗余编码以任何次序进行组合,形成数据位流;(6)将上述数据位流中的每一个二进制位的数字填入到二维码矩阵中,二进制位中的0用空白表示,1用颜色表示,或0用颜色,1用空白表示,形成二维码 图形。...

【技术特征摘要】

【专利技术属性】
技术研发人员:侯琰霖
申请(专利权)人:北京紫光捷通科技有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1