- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于小型数据库的PDF417编码及软件实现
论文摘要:条形码是国内外比较常用的二维条码,对其研究具有非常重要的意义。PDF417主要由起始符、终止符、左右行指示符号字符、纠错码字符和数据区符号字符组成。PDF417条码具有较强纠错能力,本文用VC#编写的软件实现了简单的字母、数字和汉字编码,程序包括字符、数字压缩,码字纠错和图像生成,提出了将数据库和数组结合使用的方法,提高了程序的执行效率。实验表明程序能够很好实现编码、打印和纠错能力。论文关键词:基于,小型,数据库,编码,软件 1引言 条码识别技术是以计算机图像处理、模式识别、光电技术和通信技术为基础的综合技术,是当今最主要的自动识别技术之一。 目前我国使用得较多的是一维条码,但一维条码的容量小,保密性差,只能标识而不能描述产品,在很大程度上依赖于数据库。二维条码具有信息量大、可靠性高、保密防伪等优点,已经逐渐用于通信、物流、身份识别等领域。 作为当今最先进的条码技术之一,PDF417条形码已经广泛用于各种证件、票据的管理、公共安全、物流和图书馆等领域,研究它具有重要的意义。 2PDF417二维条码的结构 2.1PDF417码的码字结构 四一七条码符号是一个多行结构。每行从左到右依次为:左空白区,起始符,左行指示符号字符,1~30个数据符号字符,右行指示符号字符,终止符,右空白区。规定行数为3~90行。条码结构如图1所示。 图1PDF417结构图图2符号字符 每一码字符号字符由4个条和4个空构成,从左向右开始。每一个条或空包含1~6个模块。在一个符号字符中,4个条和4个空总模块数为17,如图2所示。 2.2符号字符的簇 四一七条码符号字符集由0,3,6这三个簇构成,每一簇包括以不同的条、空形式表示的所有929个条码的码字。在每一簇中,每一符号字符所对应唯一的码字,起范围为0~928。第一、二、三行分别使用第0、3、6簇的符号字符,第四行使用第0簇的符号字符,以此类推。行号由上向下递增,最上一行行号为1。 2.3行指示符号字符 行指示符号字符包括左、右行指示符号字符()。 簇号和指示符的计算方法见文献。 3PDF417编码 3.1压缩模式 PDF417码有三种数据压缩模式,包括文本压缩、数字压缩和字节压缩。 3.2PDF417编码 首先通过基于VC#对话框界面中的编辑框录入信息,将录入的字符串放入name数组中保存起来。对name数组进行第一次压缩编码,存入数组strfencode中,默认为文本压缩模式,信息录入后被放入数组name中,根据每个数组元素的字符类型不同压缩编码方式有所不同,可以查询到不同输入字符所对应的码值。这里,处理方法是将大写字母、小写字母分别放在数组TC_LOWCHAR和TC_UPCHAR中,按字母表顺序依次存放,在输入姓名信息后在字母数组TC_LOWCHAR或TC_UPCHAR中搜索和name[i]相同的元素,然后记录其在数组TC_LOWCHAR或TC_UPCHAR中对应的位置j。一次压缩编码的值就为TC_DATA[j],并将此值存入strencode[k]中。 如果输入状态有变化那么要加转移码字II(大写字母子模式转换成小写字母子模式)或as(小写字母子模式转换成大写字母子模式),二者值均为27。判断后将值存入strfencode[k++]中。如果输入为空格,那么码字值为固定值32。例如输入信息“XiaoLei”,得到的第一次编码值strfencode=“900,23,27,8,0,14,32,11,27,4,8”。 再根据文本压缩模式的原理,从第一个码字开始,将strfencode的元素两两组合够成一个字符,然后用“”来计算出二次压缩编码的数值,并存入数组m_ncode中,二次压缩编码流程如图3所示。 图3二次文本压缩流程图 二次编码得到的结果为“900,717,240,452,357,128”。 一般连续数字个数超过13则采用数字压缩模式。数字压缩模式的核心算法是10进制向900进制的转换,如果直接进行转换,会导致溢出,出现负数的结果,本文采用的办法时将其转化为字符串数组后再进行压缩。由于文字叙述较为繁琐,本文给出了数字压缩模式的流程,如图4所示。 图4数字压缩模式流程图 我们最常用的汉字所采用的是字节压缩模式。我国国家标准规定汉字用内码(Unicode)表示,每个内码占用两个字节,每个字节只用7位,若连续两个字节的最高位为1,则该字符为汉字。 字节压缩主要是通过基256至基900的转换,将字节序列转换为码字序列。当所要表示的字节总数不是6的倍数时,采用模式901;当所要表示的字节总数为6的倍数时,用模式锁定924。字节
文档评论(0)