第二节条形码技术本章节学习目标•了解条码符号的特征及结构、编码容量的计算、条码识读原理等•理解常见条码术语的含义、代码与条码的关系•掌握编码方法和常见条码符号的特点、字符集、应用领域1、条码历史•条形码技术最早产生在二十世纪二十年代,诞生于Westinghouse的实验室里。一位名叫约翰·科芒德(JohnKermode)的发明家“异想天开”地想对邮政单据实现自动分检。•1949年的专利文献中第一次有了诺姆·伍德兰德(NormWoodland)和伯纳德·西尔沃(BernardSilver)发明的全方位条形码符号的记载。•1959年,吉拉德.费伊塞尔,7段平行条数字表示法。•1981年,EAN-128条码应用。•1982年,93条码出现。•条码标准化问题日益突出。•戴维.阿利尔研发了第一个二维条码——49条码•1988年,特德.威廉斯研发了第二个二维条码——16K码。第一节条形码概述1条形码的概念条码:由一组规则排列的条、空及其对应字符组成的标记,用以表示一定的信息,是一种图形化的信息代码。3.1条码符号的结构供人识读字符3.2条形码的编码理论编码方法:•如:25条码是一种只有条表示信息的非连续型条码。条码字符由规则排列的5个条构成,其中有两个宽单元,其余是窄单元。•宽单元一般是窄单元的三倍按这种方式编码时,是以窄元素(条纹或间隔)表示逻辑值“0”,宽元素(条纹或间隔)表示逻辑值“l”。a.宽度调节法3.1条形码的编码理论b.模块组合法一个标准宽度的条模块表示二进制的“1”,而一个标准宽度的空模块表示二进制的“0”。·每一条码字符由2个条和2个空构成(各条和空的宽度不一)·每一条或空由1~4个模块组成每一条码字符的总模块数为74条形码的分类一维条码二维条码商品条码物流条码EAN码UPC码128码交叉25码39码库德巴(Codabar)码行排式二维条码矩阵式二维条码2条形码的特点·简单·信息采集速度快·采集信息量大·可靠性高·灵活、实用·自由度大·设备结构简单、成本低1、条码应用系统的组成与流程(1)条码应用系统组成条码与数据库技术数据源识读器计算机应用软件输出设备(2)条码应用系统运作流程选择码制条码编码器印制条码扫描器解码器计算机处理输出处理结果条码的校验与纠错方式•一维码的校验方法:一维码在纠错上主要采用校验码的方法。即从代码位置序号第二位开始,所有的偶(奇)数的数字代码求和的方法来校验条码的正确性。•校验的目的是保证条空比的正确性。•二维码的纠错功能:二维码在保障识读正确方面采用了更为复杂、技术含量更高的方法。例如PDF417码,在纠错方法上采用索罗门算法,见图。不同二维条码可能采用不同的纠错算法。纠错是为了当二维条码存在一定局部破损情况下还能采用替代运算还原出正确的码词信息。4.1EAN码EAN码是国际物品编码协会制定的一种商品用条码,通用于全世界。标准EAN-13代码由13位数字构成,其结构分别代表“前缀码、厂商代码、商品代码和校验码”。EAN条形码有标准版的ENA-13码与EAN-8缩短码EAN-13码的结构·左/右侧空白区:位于条码符号最左/右侧的与空的反射率相同的区域,其最小宽度为11/7个模块宽。·起始/终止符:位于条码符号左侧空白区的左/右侧,表示信息开始/结束的特殊符号,由3个模块组成。·中间分隔符:位于左侧数据符的右侧,是平分条码字符的特殊符号,由5个模块组成。EAN条形码的编码•1.导入值:为EAN-13的最左边第一个数字,即国家代码的第一码,是不用条码符号表示的,其功能仅做为左资料码的编码设定之用。•2.左起始符:为辅助码,不代表任何资料,列印长度较一般资料长,逻辑型态为101,其中1代表细黑,0代表细白•3.左资料码:即左起始符和中线间的条码部分,共有六个数字资料,其编码方式取决於导入值之大小,规则如表1所示表1EAN-13码左资料码编码规则导入值编码方式导入值编码方式1AAAAAA6ABBBAA2AABABB7ABABAB3AABBAB8ABABBA4ABAABB9ABBABA5ABBAAB表2EAN-13码左资料码逻辑值A类编码原则B类编码原则字码值逻辑值逻辑值0000011010100111110011001011001122001001100110113301111010100001440100011001110155011000101110016601011110000101770111011001000188011011100010019900010110010111注:0为空白,1为线条•4.中线:为辅助码,作者区分左资料码与右资料码之用。中线长度较一般资料为长,逻辑型态为01010。•5.右资料码:即位於右中止符与中线之间的部份。包括五位数产品代码与一位检查码。其编码方式采为C类编码规则,如表3。类编码原则字码值逻辑值001110010111100110221101100331000010441011100551001110661010000771000100881001000991110100注:0为空白,1为线条表3EAN-13码右资料码逻辑值6.右中止符:为辅助码,列印长度与左起始符、中线相同,逻辑型态亦为101。N1N2N3N4N5N6N7N8N9N10N11N12C校验码之计算步骤如下:C1=N1+N3+N5+N7+N9+N11C2=(N2+N4+N6+N8+N10+N12)×3CC=(C1+C2)取个位数7.EAN-13码的检查码的算法,例如假设一EAN-13码各码代号如下:C(校验码)=10-CC(若值为10,则取0)977.连续出版物978、979图书我国的国别码为690~695。其他主要地区和国家的国别码如表4。表4各国EAN国家代码代码国家(或地区)代码国家00~09美国.加拿大50英国.爱尔兰30~37法国690~695中国40~44德国88韩国460~469苏联885泰国955马来西亚888新加坡EAN13码的例题•发动机的左资料码逻辑值为:•000101101100110010111010011100100110011001;发动机的右资料码逻辑值为:110011011011001000010101110010011101110100;EAN-8码的结构EAN-8码具有以下特点:·从空白区开始共81个模组,每个模组长0.33mm,条码符号长度为26.73mm。·左右资料码编码规则与EAN-13码相同。·共8位数,包括国别码2位,产品代码5位,及检查码1位。EAN-8码当包装面积小於120平方厘米以下无法使用标准码时,可以申请使用缩短码EAN-8码编码EAN-8商品条码的左侧数据符由字符集中的A子集表示;右侧数据符和校验符由字符集中的C子集表示。计算校验码时只需在EAN-8代码前添加5个“0”,然后按照EAN-13代码中的校验位计算即可EAN-8码编码4.2UPC码(UniversalProductCode)UPC码采用四种元素宽度,每个条或空是1、2、3或4倍单元元素的宽度。目前主要在美国和加拿大使用,由於其应用范围广泛,故又被称万用条码。UPC码是最早大规模应用的条码,其特性是一种长度固定的连续性数字式码制,其字符集为数字0~9。UPC码有五种类型,即UPC-A、B、C、D、E。UPC-A:通用商品UPC-B:医药卫生UPC-C:产业部门UPC-D:仓库批发UPC-E:商品短码制造商标识码的首位是个特殊位。它被称为编码系统字符。下表列出了不同编码系统字符的含义:0标准UPC条形码(0压缩码必须包含一个0)1保留2随机重量的商品(水果、蔬菜、肉类等。)3医药品4零售商的店内条形码(商店可以设置其自己的条形码,但是其他商店无法识别它们。)5优惠券码6标准UPC条形码7标准UPC条形码8保留9保留•UCC-12代码可以用UPC-A商品条码和UPC-E商品条码的符号表示。UPC-A是UCC-12代码的条码符号表示,UPC-E则是在特定条件下将12位的UCC-12消“0”后得到的8位代码的UCC-12符号表示。•需要指出的是,通常情况下,不选用UPC商品条码。当产品出口到北美地区并且客户指定时,才申请使用UPC商品条码。中国厂商如需申请UPC商品条码,须经中国物品编码中心统一办理。UPC-A商品条码的代码结构(1)厂商识别代码:由X12-X7组成。X12为系统字符。(2)商品项目代码:由X6–X2位数字组成(3)校验码:校验码为1位数字X1,计算方法同EAN/UCC-13代码。(4)UPC-A码的代码结构中没有前缀码,它的系统字符为一位数字,用以标识商品类别X12X11X10X9X8X7X6X5X4X3X2X1厂商识别代码和商品项目代码校验码•UPC-A商品条码所表示的UCC-12代码由12位(最左边加0可视为13位)数字组成,其结构如下:UPC-A码的结构UPC-A码的结构UPC-A条码左侧6个条码字符均由A子集的条码字符组成,右侧数据符及校验符均由C子集的条码字符组成,也就是说UPC-A条码是EAN-13条码的一种特殊形式,UPC-A条码与EAN-13码中N1=‘0’兼容。·左资料码与右资料码字码的逻辑值如表所示:UPC-A条码的编码左资料码(奇)右资料码(偶)字码值逻辑值逻辑值0000011011110010110011001110011022001001111011003301111011000010440100011101110055011000110011106601011111010000770111011100010088011011110010009900010111110100注:0为空白,1为线条·左资料码与右资料码字码的逻辑值如表所示:UPC-A条码的编码·起始码、终止码、中间码的线条高度长于数字码,与EAN13相同·校正码的算法设UPC-A各码代号如下:N1N2N3N4N5N6N7N8N9N10N11C则校正码之计算步骤如下:C1=(N1+N3+N5+N7+N9+N11)×3C2=N2+N4+N6+N8+N10CC=(C1+C2)取个位数C(校正码)=10-CC(若值为10,则取0)·系统码和校验码编入条码中,高度和起止符、终止符相同UPC-A条码的编码UPC-A条码的编码UPC-E商品条码的代码结构UPC-E商品条码所表示的UPC-A码系统字符为0时代码由8位数字(X8-X1)组成,是将系统字符为“0”的UCC-12代码进行消零压缩所得,只用於国别码为0的商品。UPC-E条码比较特殊,它仅直接表示6个数据字符,条码符号本身没有中间分隔,终止符也与UPC-A不同。UPC-E条码符号的高度与UPC-A条码符号相同,但长度大大缩短。如图:UPCA消零压缩UPCE方法见表·右护线:同UPC-A码,逻辑型态为101。UPC-E条码的编码·左护线:为辅助码,逻辑型态为010101,·资料码:扣除第一码固定为0外,UPC-E实际参与编码的部份只有六码,其编码方式,视校正码的值来决定。·校正码:其作用为一导入值,并不编入条码。奇资料码与偶资料码的逻辑值如表所示:UPC-E条码的编码奇资料码偶资料码字码值逻辑值逻辑值0000011010100111110011001011001122001001100110113301111010100001440100011001110155011000101110016601011110000101770111011001000188011011100010019900010110010111注:0为空白,1为线条表UPC-E码资料码的编码方式UPC-E条码的编码UPC-E条码的编码三、储运单元条码是专门表示储运单元编码的一种条码,这种条码常见用于搬运、仓储、订货和运输过程中,一般由消费单元组成的商品包装单元构成。在储运单元条码中,又分为定量储运单元(由定量消费单元组成的储运单元)和变量储运单元(由变量消费单元组成的储运单元)。三、储运单元条码定量储运单元一般采用13位或14位数字编码。当定量储运单元同