毕业设计(论文)基于二维条码在物联网中的应用.doc
基于二维条码在物联网中的应用 摘 要 条形码技术是在计算机技术与信息技术基础上发展起来的一门集合编码、印刷、识别、数据采集和处理于一身的新兴技术。随着科技的发展,一维条码由于受到信息容量的限制和使用时对数据库的依赖,已经不能适应社会的需要,于是二维条码就诞生了。二维条码具有信息可随载体移动,成本低,不依赖于计算机网络和数据库、保密防伪性能强等优点,在众多二维条码中,应用最为广泛的即为PDF417条形码。本文简要介绍了二维条码PDF417的编码和纠错原理,然后研究了二维条码PDF417在三种模式下编码算法,最后对于二维条码的物流管理系统的设计进行了分析,并设计了应用系统程序来实现PDF417的编码。关键词 二维条码,PDF417,编码,物流管理系统ABSTRACTBar code technology is a kind of new technology developing on the basis of computer technology and information technology,which assembles the technology of encoding,print,recognizing, data acquisition and processing. With the development of science and technology, the one dimensional barcode can no longer meet the societys need because of its limited information capacity and dependence on the database while being used, therefore the two dimensional barcode came into beingTwodimensional barcode has numerous advantages such as low costportable information,conserved,anti counterfeit,no dependence on internet and database.And among various two dimensional barcodes,the PDF417 is the most widely used This paper briefly introduces the encoding and error correction principle of two dimensional barcode PDF417 , and then makes a study of encoding algorithm of PDF417 in three different modes, finally analyses the design of logistics management system for two dimensional barcode and designs the application system program to achieve the encoding of PDF417.Key words:Two-dimensional barcode,PDF417, Recognition,Logistics management system目录1 绪论111 二维条码产生的背景112 课题研究目的和意义22 二维条码的概述321 二维条码的分类322 PDF417条码的技术特点323 二维条形码的应用53 PDF417条码结构和编码原理731 PDF417条形码的结构732 PDF417条码符号字符的结构833 PDF417条码的簇834 PDF417行指示符号字符935 PDF417条码的压缩模式结构10351 模式锁定与模式转移10352文本压缩模式(TC)11353字节压缩模式(BC)13354数字压缩模式(NC)1336 错误纠正与Reed-Solomon错误控制码14361错误纠正等级与错误纠正码字14362 PDF417条码的检测与纠正15363 错误纠正容量15364 错误检测与错误纠正码的计算16365 错误纠正等级的选择174 PDF417编码软件及应用1841物流管理简介1842基于二维条码的物联网物流管理系统的设计分析1843编码压缩2044编码软件的实现21结论26参考文献27附 录128附 录234答 谢351 绪论11 二维条码产生的背景一维条码自出现以来,得到了人们的极大关注,发展速度十分迅速。它的使用,极大提高了数据采集及信息处理的速度,提高了工作效率,并为管理的科学化和现代化做出了很大贡献1。但随着条形码的广泛应用,新的要求不断产生,传统的一维条码渐渐表现出了它的局限,一维条码的信息密度低、信息容量小,仅能容l020个字节的数字符号,只能对“物品”进行标识,而不能对“物品”进行描述,无法提供物品的名称、生产日期、使用说明等信息,而且使用一维条码,必须通过连接数据库的方式提取信息才能明确条码所表达的信息含意,因此在没有数据库或者不便联网的地方,一维条码的应用就受到了限制。在这种情况之下,二维条码应运而生,二维条码由于用某种特定的几何图形按一定规律在平面(二维方向)上分布的条、空相间的图形来记录数据符号信息,因而具有信息密度高、信息容最大、抗干扰能力强、纠错能力强等特点,不仅能标识物品,而且能精确地描述物品,在远离数据库和不便联网的地方也能对数据实现采集。目前二维条码信息容量已接近2000个字节,通过压缩技术能将凡是可以数字化的信息,包括汉字、照片、指纹、签字、声音等进行编码,实现信息的携带、传递和防伪。12 课题研究目的和意义二维条形码是自动识别中的一项重要技术,也是物联网产业的关键、核心技术之一。本课题研究PDF417条形码系统的编解码规则和解码算法,可以拓宽PDF417条形码应用领域,还可以节约它的使用成本,以及研究二维条形码在物流管理中的应用,使得条码技术像一条纽带,把产品生命期中各阶段发生的信息联接在一起,使企业在激烈的市场竞争中处于有利地位。条码化从而保证了数据的准确性,而且条码设备使用既方便又快捷,真正提高了物流管理的工作效率。2 二维条码的概述21 二维条码的分类与一维条码一样,二维条码也有许多不同的编码方法,或称码制。根据编码原理、结构形状的差异,一般可分为两大类型:1、行排式或层排式二维条码(2D Stacked or Tiered Barcode)。该类条码是在一维条码编码原理的基础上,将多个一维码在纵向堆叠而产生的典型的码制如: Code 49,Code 16K,本文研究的PDF417等;2、棋盘式或矩阵式二维条码(2D Checkerboard or Dot Matrix Barcode), 该类条码是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。典型的码制如 汉信码、QR Code、Date Matrix、Code one、Maxi Code等。关于条码的简单分类如图所示。二维条码行排式或层排式二维条码:PDF417、Code49、Code16K等棋盘式或矩阵式二维条码:汉信码、QRCode、Code one、Maxi Code等图2.1 二维条码的分类 图2.2 含有“西北民大”字符信息的Date Matrix条码图2.3 含有“西北民大”字符信息的PDF417条码22 PDF417条码的技术特点PDF417条码是一种高密发、高信息含量能便携式数据文件, PDF417条码其有如下特点:l、编码范围广PDF417条码可以将文字、签字、掌纹等都可以数字化的信息进行编码。2、信息量大在国际标准的证卡有效面积上,PDF417条码可以容纳1848个字母字符或2729个数字字符,约500个汉字信串。其容量比普通条码信息容量高出几十倍。3、译码可靠性高普通条码的译码错误率约为2%左右,而PDF417条码的误码率不超过干万分之一,译码可靠性非常高。4、修正错误能力强PDF417采用了世界上目前最先进的错误校正技术,可以有效地防止译码错误,提高译码的可靠性及速度,还可以将由于条码符号破损、污损等丢失的信息破译出来,这种隐含于符号内的错误修正技术。5、容易制作且成本低利用现有的制卡机、激光、点阵等打印技术,即可在卡片、纸张、甚至金属表面上印出PDF417二维条码。由此所增加的耗费仅是油墨的成本,因此又称PDF417是“无成本”技术。6、保密、防伪性能好PDF417条码具有很多重防伪特性,它可以采用软件加密、密码防伪及利用所包含的信息如照片、指纹等进行防伪,因此具有非常强的保密防伪性能。23 二维条形码的应用二维条码的作为一种较为新的信息存储、传递和识别技术,相对一维条形码,它具有很大的使用价值和优势,二维条码技术已经在美国、日本、英国、法国、德国、加拿大、韩国、墨西哥等世界许多国家得到了较为较广泛的应用。在我国,二维条码技术得到政府的支持和重视,国内在此领域研究开始于1993年。中国物品编码中心对几种常用的二维条码PDF417,Codel6K , Code49,Maxi Code, QR Code,Data Matrix的技术规范进行了翻译和跟踪研究。在理解国外相关技术资料的基础上,我国制定了两个二维条形码的国家标准:GBT 17172-1997417条码,GBT 18284-2000快速响应矩阵码。为使二维条码技术能够在我国的许多管理领域得到应用,在国外的应用软件平台的基础上,开发了相关的数据库。根据目前状况来看,二维条形码在物流、人员管理方面得到了较大的应用及发展2。在电子信息技术高速发展的今天,与手机相结合应用将是二维条码的又一发展方向。现如今,二维条码在物流管理中具有更加相对成熟的技术,其主要是将二维条形码用来描述物品,另外在货物的存储、运输中对其进行描述必不可少。现在的情况大多是自然语言描述,这在很大程度上影响了信息的采集速度和精度。将二维条形码应用于物流管理,即将二维条形码制作在货物的包装上,这是其它自动识别技术(如IC卡)不可能做到的。二维条形码在物流的应用在一定程度上加快了物流管理现代化的进程。3 PDF417条码结构和编码原理31 PDF417条形码的结构PDF417条码是一个多行结构的二维条形码。它的顶部和底部为空白区域,上下空白区域之间为多行条码结构,每一行的数据字符的数量相同,由130个数据字符组成。最大为90行,最小行数为3行,每一行左右对齐并且直接相连接。其结构如下图3.1所示:图3.1 PDF417条码符号的结构图3.1中数据区可以容纳1到30个数据符号字符。PDF417的能够编码字符集包括基本ASC字符及扩展的ASC字符或8位二进制数据,多达811800 种不同的字符集。条形码的符号尺寸是可变的,宽度范围为90 X583 X , 高度范围为390行, X 表示符号的模块宽度。条形码的最大数据量(当错误纠正等级为1时)为2710个数字或1850个大写字母或1108个字节。条形码符号中,由特定的条和空组合而成的表示该信息的基本单位叫符号字符。每个字符由4个条和空组成,自左到右从条开始。每个空或条包括16个模块。在一个符号中, 4个空和4个条的总模块数为17,如图3.2 :图3.2PDF417 符号字符32 PDF417条形码符号字符的结构PDF417条形码字集多达929个码字,码字的取值范围为0928。在码字集中,码字的使用遵循下列规则:1) 码字0899 :根据全球标记标识(GLI)和当前的压缩模式解释,用于表示数据。2) 码字900928:在单一模式中,用于具有特定目的符号字符的表示。码字900、901、913和924用于模式标识;码字925、926和927用于GLI;码字922,923和928用于PDF417条形码的宏;码字921用于阅读器初始化;码字903912、914920用于待用。33 PDF417条码的簇PDF417中的929个码字组成的若干集合可表示成3种不同的条码字符集,每一簇中,每一个符号字符对应仅一个码字。簇的作用是为了使相隔的二维条码层之间能够相互区别,在近邻两个条码之间使用的簇是不同的,因此对条码进行识别、提取码字时就不会混淆条码层的顺序。每一符号字符在所对应的簇中也对应唯一的码字,其范围为0928。簇的编号分别是0,3,6簇,定义可将其应用于所有的PDF417条码字符,开始和终止字符除外。四一七条码的每行仅仅使用一个簇中的符号字符。同一簇隔三行重复一次。第一行使用第0簇,二三行依次使用3、6簇,第四行使用第0簇,往后以此类推。对于那些特定的符号字符,簇的编号是由下面的式子确定:簇号=(-+-)mod 9 (3-1)式中,、分别表示的为自左向右四个条的单位模块数,参见图3.2。对于每个特定的行,使用的符号字符的簇的编号将由下式计算:簇号=(行号-1)mod 3×3 (3-2)行号由上往下依次递增,最上面一行的行号默认为1。34 PDF417行指示符号字符行指示符号字符是由左行指示字符(LF)和右行指示符号字符(RF)组成,分别与起始符和终止符相连接,见图3.1。行指示符号字符的值(码字)指示PDF417条码的行数、行号,还包括数据区中数据符号字符的列数和错误纠正等级。左行指示符号字符和右行指示符号字符分别由下式确定:30+ 当=0时30+ 当=6时30+ 当=3时(3-3)= =30+ 当=0时 30+ 当=3时30+ 当=6时(3-4)其中:=int(行号-1)3,i=1,2,390=int(行数-1)3=错误纠正等级×3+(行数-1)mod3=数据区的列数=第行的簇号如果这个PDF417条形码为4行,4列,错误纠正等级为1,那么(,)为(O,4,2),(,)为(3,0,6)。35 PDF417条码的压缩模式结构为了使有效地压缩并表示数据,PDF417条码数据压缩模式统一将统一采用三种设置来组成字符集。三种数据压缩模式分别是数字压缩模式(NC)、字节压缩模式(BC)和文本压缩模式(TC)。通过应用模式锁定转移(Latchshill)码字,可将一个PDF417条码符号采用多种模式来表示数据。351 模式锁定与模式转移在对所需编码的信息按照PDF417的编码原理进行编码的时候,可以在通过模式切换选择所需相应的模式来进行编码。这里又采用到了两种码字,即模式转移码字和模式锁定码字。其中,模式转移码字用于将文本压缩模式(TC)暂时切换为字节压缩模式(BC),这种切换仅对切换后的第一个码字有效,随后的码字又返回到文本压缩模式。而模式锁定码字用于将当前模式切换为指定的目标模式,在模式不进行再次切换前这种设置一直有效。这三种模式之间的相互切换和切换码字的对应关系如图33所示,其中图中的数字表示或模式转移者模式锁定所用到的状态码字:图3.3 三种模式的模式切换和切换码字352文本压缩模式(TC)文本压缩模式为每一符号起始有效的默认的压缩模式。为了更高效的表示数据,文本压缩又可以分为小写字母型子模式(Lower case)、大写字母型子模式(Alpha) 、标点型子模式(Punctuation)和混合型子模式(Mixed)四个子模式。每种子模式选择了其所对应频率较高的一组字符组成各自的字符集。在子模式中,每一个字符对应一个值(O.29),两个字符或是字符对结合表示成一个码字,字符转换为码字的将用到如下计算公式:码字=30×H+L (3-5)式中:L,H分别依次表示字符对中的低位和高位字符值。任何模式切换到文本压缩模式(TC)后都必须锁定为大写字母型子模式,并且在编码时也可以在文本压缩模式的子模式之间进行切换,文本压缩模式的四种子模式之间的关系如图3.3所示,其中, ps表示转换为标点型子模式,ll表示锁定为小写字母模型,al表示锁定为大写字母型子模式,ml表示锁定为混合型子模式, as表示转移为大写字母型子模式,pl表示锁定为标点型子模式。ps,ll,al,ml,as ,pl都是文本压缩模式中的特殊字符,因此也可以用式3-5来计算计算它的码字。由于一个码字由低位和高位两个字符通过式3-5计算得来,因此如果在一个字节转移(码字913)之前紧接着应用ps(29)作为一个填充符号,那么ps则无效,并且不允许出现紧跟在一个子模式转移之后的另一个子模式转移或锁定。在一个字符串的尾部有奇数个字符时,需要用值为29的虚拟字符ps填充最后一个码字。 图3.4文本压缩子模式之间的关系36 错误纠正与Reed-Solomon错误控制码361错误纠正等级与错误纠正码字PDF417二维条形码采用目前最常普遍的Reed-Solomon(RS)错误控制码技术34。它的纠错能力十分强大,其错误还原率最高可达百分之五十左右,对部分断裂或污损以及标签折叠或破角破洞的条码,皆可将其编码信息复原。但是,它也有着自身的缺点和不足,RS码的编译码过程和译码原理都比较复杂,并且需要额外增加的一定量的纠错信息,从而增加了二维条形码的信息量。每一个PDF417条码符号至少需要包含两个错误纠正码字,其目的是用于符号的错误检测与纠正。PDF417条码的错误纠正等级可由用户自由选择,不同的错误纠正等级对应的错误纠正码字数各不相同,最高的错误纠正等级是8级,最低的错误纠正等级为0。纠正码字数目和错误纠正等级的关系如下: (3-8)其中s为错误纠正等级, n为错误纠正码字数目。362 PDF417条码的检测与纠正PDF417条码的错误纠正等级可由用户自由选择5。其中每种错误纠正等级所对应的错误纠正码字数目见表 1。错误纠正等级错误纠正码字数目012345678248163264128256512表1 PDF417条码的错误纠正等级363 错误纠正容量对于给定的错误纠正等级,其错误纠正容量需要由下式确定; (3-9)式中:为拒读错误数目,为替代错误数目,为错误纠正等级,为错误纠正码字数目。其中错误纠正码字的总数为,有两个用于错误检测,其余的错误纠正码字用于错误校正。用两个错误纠正码字校正一个替代错误用,一个错误纠正码字还原一个拒读错误。如果被纠正的替代错误数目要小于4时(=O除外),错误纠正容量将由下式确定: (3-10)364 错误检测与错误纠正码的计算对于所给定的一组数据信息码字,错误纠正码字将根据Reed-Solomon错误控制算法计算,具体算法如下6。第一步:建立符号数据多项式,符号数据多项式的建立如下: (3-11)在式3-8中:多项式的系数由数据码字区中的码字组成。其中包括数据码字、符号长度码字、填充码字、宏PDF417条码控制块。每一数据码字(,)在PDF417条形码符号中的大致排列位置见图3.5。图3.5数据、行指示符及纠错码第二步:建立纠正码字的生成多项式个错误纠正码字的生成多项式如下: (3-12)式中:为错误纠正码字()的个数,在PDF417条形码符号中的排列位置见图3.5。在计算的过程中,要计算可能会造成数据溢出,通常我们使用mod929来替代。第三步:错误纠正码字的计算错误纠正码字为符号数据多项式乘以,然后除以生成多项式,所得余式的各系数的补数。365 错误纠正等级的选择对于开放式的二维条形码编码系统,不同数量的编码数据所对应的错误纠正等级,见表3。针对实际情况,在PDF417条码符号容易损坏的场合下,建议选用高错误纠正等级;在封闭系统中,可使用低于推荐错误纠正等级的错误纠正等级。数据码字数错误纠正等级140411601613203218632345表3 PDF417条码的推荐错误纠正等级4 PDF417编码软件及应用在我国,条码技术在物联网的应用技术已经逐渐趋于成熟,尤其是在物联网技术中最为关键的领域物流管理领域7。条码技术的应用解决了数据采集和数据录入的“瓶颈”问题,为物流管理提供了有力的技术支持。41物流管理简介物流管理即研究物的转移问题,随着市场竞争的加剧,物流管理不仅仅要考虑从生产者到消费者的货物分配问题,而且还要考虑到从供应商到生产者对原材料的采购,以及生产者本身在产品制造过程中的运输、保管和信息传递等各个方面,综合性地、全面地提高经济效率和效益的问题。因此,现代物流是以满足消费者的需求为目标,把销售、运输、制造等市场情况统一起来考虑的一种战略措施。42基于二维条码的物联网物流管理系统的设计分析该系统根据供应链系统流程,可将系统划分成主要的五大部分,即管理平台、生产企业、仓储管理、商场企业和企业中间件8。这五部分不但实现了供应链的基本流程,还通过企业中间件的设计对所衔接系统之间的整合实现了编码,进行合理的数据处理,快速整合了各系统之间的数据存储,达到快速传输,快速处理的效果,并且在最后通过对相应数据的处理可以实现管理平台、生产企业、仓储企业、商场企业对产品的跟踪和溯源,以实现物联网的基本概念。系统的基本构架如图4.1所示。管理系统平台企业中间件生产企业管理系统仓储企业管理系统商场企业管理系统 计算机 条码打印机 计算机 条码识别器 条码识别器 计算机 售货系统图4.1物流管理系统的基本构架设计该系统设计中,所涉及的生产企业、仓储企业、商场企业均为显示存在的系统软件,不仅仅局限于某个指定的软件产品,可以根据不同情况衔接多个生产企业、多个运输企业、多个商场企业以及多个仓储企业,并且结合企业中间件的使用达到数据传输的目的,二维条码的应用将集中应用于系统的底层,其主要应用有以下方面:(1)管理系统平台作为系统的核心,很少用到二维条码技术,它所需做的工作即将企业所提交的数据进行审核,如产品编码审核、包装编码审核等;另外,管理系统平台对在生产企业、仓储企业、运输企业进行数据传输起到了尤为重要的数据连接转换作用。(2)生产企业作为系统的源头部分,实现产品、包装进行编码管理,即二维条码标签的唯一写入点,整个系统除此之外的所有识别设备进行的操作均为读取条码信息操作,并非对条码中的数据进行更改。在整个供应链流程中生产企业能够对产品的整个物流过程进行跟踪追溯,达到监察目的。(3)仓储企业是整个物流管理系统的重要组成部分,作为批量商品的集散地,它将实现货物的调度,通过二维条码的识别系统,将向管理系统平台实时传输商品的出库、入库情况,以及商品的流向。(4)商场企业是货物的集散地之一,通过条码识别系统和售货系统将向管理系统平台实时传输商品的出售情况,如销售记录、退货情况等。本文将着重介绍PDF417在该系统中的编码应用。在第二章中给出了二维条码PDF417的编码原理,本文采用C#语言,Microsoft visual studio 2005平台上编写了条码的编码和绘制程序9。设计条码编码系统的过程框图如图4.2所示:编码商品信息编码压缩加入纠错码字跟据数据码、纠错码,查询码字条空对照表,找出对应的条空组合方式根据对应条空组合绘制条形码显示条码图形图4.2 PDF417条码产生过程43编码压缩由第二章所介绍内容可知,PDF二维条码中的有效信息为数据码字,这些信息被压缩后存放在条码中。PDF417码有三种压缩模式:文本压缩模式(TC),数字压缩模式(NC)和字节压缩模式(BC)。通过采用模式锁定码字,可在一个PDF417条码符号中采用多种压缩模式存储数据,有效提高条码的压缩率。本文采用了三种压缩算法,字母和符号采用文本压缩模式,数字单独采用数字压缩模式,汉字采用字节压缩模式,此时所采用的压缩模式压缩率最高。文本压缩模式下编码流程图如图4.3所示。生成文本压缩模式、数字压缩模式和字节压缩模式代码见附录。图4.3编码程序流程图44编码软件的实现本文所编写的PDF417码生成的软件界面如图4.4所示,图4.4 PDF417编码系统界面当输入待编码得商品信息、条码长宽比、条码列数后,直接点击一键生成按钮,就可以直接从显示窗口上显示出相应的PDF417条码,其中设计该编码系统时,为了简便,其纠错等级默认值为0。然后点击另存为按钮就可以将生成条码保存,然后按照需要来调整整个图像的大小,之后打印出合适的条码图像。如图4.5、4.6示:图4.5 输入产品信息图4.6 生成条码如图4.7是采用C#语言,在Microsoft visual studio 2005平台上“PDF417编码系统窗体设计”界面。图4.7 PDF417编码系统“窗体设计”图4.8是“PDF417编码系统窗体程序接口设计”界面。图4.8 PDF417编码系统窗体程序接口设计最后生成的含有商品信息的二维条码如图4.9所示,其中所编码的信息为:“商品名称:海飞丝 生产企业:美国宝洁 生产日期:2011年5月15日 生产编号:690314045133”。图4.9 PDF417编码系统生成条码图片在该物流管理系统中,PDF417条码的编码内容可以是商品的所有信息,如生产厂家、生产日期、编号等等,根据不同的商品还可以调整录入的信息。从产品的生产到成品下线、销售、运输、仓储、零售等各个环节,就可以应用这么小小的一张条码,对商品进行方便、快捷的管理,从而实现了商品的高效管理。结论条码技术涉及到图像处理、信号处理、编码信息理论和光电传感等学科知识,是一门综合性的技术。有机的结合这些科学技术,设计一个高容量和低成本的条码系统,是一个富有挑战性的工作。本文主要研究了PDF417条码的编码技术和基于物联网的应用方案,主要包括压缩编码,纠错处理两个方面,根据研究结果在VS 2005平台下用C#语言设计了一套PDF417编码系统,可以很好的实现信息的编码。首先对二维条码的概念及技术分类进行了说明。对PDF417条码的技术优点进行了详细的分析。并介绍了PDF417条码在物流管理领域的应用情况。其次对PDF417条码的结构进行了理论分析,以及对其编码原理及算法进行了深入分析。最后结合在物联网中物流管理领域的特点,把制造、运输、销售等市场情况统一起来考虑到物流管理中的系统模式,突破了传统的三部分各自管理的模式,这样对二维条码的编码系统要求更高,最后对PDF417条码的编码的实现以及对编码界面的设计。二维条码技术推动着物联网这个新兴产业不断向前发展,创造了巨大的社会价值:同时其自身也在不断完善和发展,它必将向着更加深入更加完善的方向发展。本文研究中遇到了很多问题,比如开始对二维条码技术知识了解比较少;在编写C#程序时遇到很多错误,程序与窗体设计之间的串口通信无法实现;C#语言学的不够深入致使窗体运行不能移植等等。通过在网上搜索的信息,图书馆资料查询,并且在导师的指导下,同学们的帮助中逐步分析解决了这些问题。参考文献1 徐杰民,肖云二维条码技术现状及发展前景,载计算机与现代化,2004年,第12期,第141142页。2 中国物品编码中心 条形码技术与应用,北京:清华大学出版社,2003年,第2327页3 戴扬,于盛林 PDF417纠错码原理及实现 吉林大学学报,2004年,第34期,第286290。4 李建勋,解建仓 RS码技术在PDF417纠错码编译码中的应用研究,载计算机工程与应用,2007年,第43期,第198201页。5 许晶晶,柯熙政 RS纠错码技术的一种应用,载宇航计测技术,2005第3期,第4144页。6 李建勋 RS码技术在PDF417码纠错码编译码中的应用研究载计算机工程与应用,2007年 ,第43期 ,第198201页。7 张铎 物联网大趋势,北京:清华大学出版社,2010年,第156164页。8 王志良物联网现在与未来,北京:机械工业出版社,2010年,第4351页。9 张立 等C#2.0完全自学手册,北京:机械工业出版社,2007年,第204242页。参考站点如下:./ 044.htm/ (PDF417二维条码中文网站)(MSDN官网)(IT技术社区)附 录1文本压缩模式、数字压缩模式和字节压缩模式的部分核心代码:/文本压缩模式protected internal virtual void textCompaction(int start, int length)int dest = new intABSOLUTE_MAX_TEXT_SIZE * 2; int mode = ALPHA; int ptr = 0; int fullBytes = 0; int v = 0; int k;int size; length += start; for (k = start; k < length; +k) v = getTextTypeAndValue(length, k); if (v & mode) != 0) destptr+ = v & 0xff;continue; if (v & ISBYTE) != 0) if (ptr & 1) != 0) destptr+ = (mode & PUNCTUATION) != 0 ? PAL : PS;mode = (mode & PUNCTUATION) != 0 ? ALPH A : mode;destptr+ = BYTESHIFT;destptr+ = v & 0xff;fullBytes += 2;continue;switch (mode) case ALPHA:/大写模式 if (v & LOWER) != 0) destptr+ = LL;destptr+ = v & 0xff; mode = LOWER; else if (v & MIXED) != 0) destptr+ = ML;destptr+ = v & 0xff;mode = MIXED;else if (getTextTypeAndValue(length,k+1) & getTextTypeAndValue(length, k +2) & PUNCTUATION) != 0)destptr+ = ML;destptr+ = PL; destptr+ = v & 0xff;mode = PUNCTUATION; elsedestptr+ = PS; destptr+ = v & 0xff; break; case LOWER:/小写模式if (v & ALPHA) != 0)if(getTextTypeAndValue(length,k+1) & getTextTypeAndValue(length, k + 2) & ALPHA) != 0) destptr+ = ML; destptr+ = AL; mode = ALPHA;else destptr+ = AS; destptr+ = v & 0xff; else if (v & MIXED) != 0) destptr+ = ML;destptr+ = v & 0xff;mode = MIXED; else if (getTextTypeAndValue(length, k+1) & getTextTypeAndValue(length, k + 2) & PUNCTUATION) != 0) destptr+ = ML; destptr+ = PL;destptr+ = v & 0xff;mode = PUNCTUATION;elsedestptr+ = PS;destptr+ = v & 0xff;break;case MIXED:/符号模式if (v & LOWER) != 0)destptr+ = LL;destptr+ = v & 0xff;mode = LOWER; else if (v & ALPHA) != 0)destptr+ = AL; destptr+ = v & 0xff;mode = ALPHA;el