GS1-128-条形码标准_第1页
GS1-128-条形码标准_第2页
GS1-128-条形码标准_第3页
GS1-128-条形码标准_第4页
GS1-128-条形码标准_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、UCC/EAN-128条码及其应用UCC/EAN-128条码符号是ANCC系统(即EAN·UCC系统)中使用的一种条码符号,也是一种商品条码符号。UCC/EAN-128条码是普通128条码(即Code128码)的子集。经原国际物品编码协会(EAN)、美国统一代码委员会(UCC)和国际自动识别制造商协会(AIM)同意,把起始符后面的第一个字符是Code128码中的“功能1”(FNC1)字符的符号结构给EAN·UCC系统专门使用。UCC/EAN-128条码是EAN·UCC系统中唯一可用于表示附加信息的条码,可广泛用于非零售贸易项目、物流单元、资产、位置的标识。今年,U

2、CC/EAN-128条码已被更名为GS1-128条码。1. UCC/EAN-128条码的特点·UCC/EAN-128条码的编码字符集属于字母/数字式字符集。字符集中包括,ASCII码(美国信息交换标准码)中码值从00至127的128个码所代表的字符(这正是128条码被称作Code128的原因)以及00至99这100个两位数字。其中的ASCII码字符包括,09这十个数字,全部英文大小写字母,“!”、“,”、“+”、“-”、“*”、“/”、“”、“空格”等符号以及“DEL”、“ESC”等控制字符。但是UCC/EAN-128条码不使用“空格”符号。注:通过使用功能4(FNC4)字符,Cod

3、e128条码还能对ASCII值为128255的字符编码,这一功能保留在将来使用,但UCC/EAN-128条码不使用。·UCC/EAN-128条码使用一个起始符加一个FNC1字符的双字符起始图形,这是UCC/EAN-128条码的特殊标志。·除终止符外,每个条码字符由3个条和3个空构成。每个条或空由14个模块组成,每个条码字符的总模块数为11。UCC/EAN-128码属于模块组配的条码,又称“n,k”条码,即每个字符总模块数为11(n=11)、由3个条和3个空(k=3)组成。终止符由4个条和3个空构成。·字符与字符是紧密相连的,不需要字符间隔,所以UCC/EAN-12

4、8码是连续型条码。·UCC/EAN-128码是非定长的条码,字符的个数可根据实际需要确定,但是在符号的物理长度和数据字符的个数方面有一定的限制,即每个符号的最大物理长度为165mm、数据字符个数最多为48个。·可双向译码,即从左至右或从右至左扫描都可以对UCC/EAN-128码译码。·有字符自校验功能。·有一个必需的符号校验字符。但符号校验字符不是数据的一部分,不在供人识别字符中表示,也不在译码时输出。2. 符号结构UCC/EAN-128条码符号由左侧空白区、一个起始符(Start A,Start B或Start C)和一个FNC1字符组成的双字符起始图

5、形、数据字符(包括应用标识符)、一个符号校验字符、终止符、右侧空白区及供人识别字符组成,见图1。推荐精选校验字符(17)终止符数据字符双字符起始图形右侧空白区左侧空白区FNC1Start C供人识别字符图1 UCC/EAN-128条码的符号结构3. 符号字符的结构和编码3.1 符号字符的结构如前所述,除终止符外,每个条码字符由3个条和3个空构成。每个条或空由14个模块组成,每个条码字符的总模块数为11,示例见图2。1234567891011211232 “Start C”字符1234567891011431112311 “FNC1”字符1234567891011131321符号字符值为35的字

6、符图2 符号字符的结构示例终止符由4个条和3个空构成,共13个模块,见图3。123456789101112132331112推荐精选图3 终止符的结构由符号字符的结构可见,每个符号字符中所有条的模块总数为偶数,所有空的模块总数为奇数,利用这一奇偶特性能够实现字符的自校验。3.2 符号字符集Code 128(UCC/ EAN-128)条码的符号字符集(部分节选)见表1。表1 Code 128 符号字符集(部分节选)符号字符值字符集A字符集A 字符的ASCII值字符集B字符集B 字符的ASCII值字符集C单元宽度(模块数)字符图形条空条空条空12345678910110空格32空格32002122

7、221!33!33012221222"34"34022222213#35#35031212232485685624311222259579572532112233A65A653311132334B66B663413112365SOH01a976512112466STX02b986612142198SHIFTSHIFT9841131199CODE CCODE C99113141100CODE BFNC4CODE B114131101FNC4CODE ACODE A311141102FNC1FNC1FNC1411131103Start A211412104Start B2112

8、14105Start C211232推荐精选符号字符值字符集A字符集B字符集C单元宽度 (模块数)字符图形Stop(终止符)BSBSBSB123456789101112132331112Code 128(UCC/ EAN-128)条码有三个符号字符集,分别是字符集A、字符集B和字符集C。字符集A包括:ASCII值为0095的字符,即所有大写英文字母、数字09、标点字符、控制字符;7个特殊字符。字符集B包括:ASCII值为32127的字符,即所有大、小写英文字母、数字09、标点字符;7个特殊字符。字符集C包括:100个两位的数字字符0099(这样每个符号字符可以表示两个数字);3个特殊字符。虽然

9、Code 128(UCC/ EAN-128)条码有三个符号字符集,但是实际上三个字符集共同使用着一套符号字符值和符号字符条空图形,也就是说,用一套符号字符条空图形来表示三个符号字符集的字符。例如在表1中,字符值为65的符号字符图形是“条空条空条空”的宽度(模块数)为“121124”的条空图形,它可以表示字符集A中的“SOH”、字符集B中的“a”和字符集C中的 “65”。为了能实现用一套符号字符图形来表示三个符号字符集的字符,需要使用一些起始定义字符、切换字符和转换字符来说明符号字符图形表示的是哪一个字符集的字符,表1字符值从98至105的字符中就有这样一些字符:·起始符A(Start

10、 A)定义符号以字符集A开始。·起始符B(Start B)定义符号以字符集B开始。·起始符C(Start C)定义符号以字符集C开始。·切换字符(CODE A、CODE B、CODE C)把先前定义的字符集切换到切换字符所定义的新的字符集。例如,CODE A切换到字符集A,依此类推。·转换字符(SHIFT)把紧跟其后的一个字符由字符集A转换到字符集B或由字符集B转换到字符集A,在被转换的那个字符后面的字符则自动恢复到转换字符之前定义的字符集A或B。Code 128(UCC/ EAN-128)码的符号字符中有四个功能字符:FNC1、FNC2、FNC3和FN

11、C4。FNC1的用途之一是紧跟在起始符Start(A或B或C)后面,形成特殊的Start(A或B或C)+ FNC1的双字符起始符号供UCC /EAN-128码专用,作为区分UCC /EAN-128码和普通128码的标志。FNC1的另一个用途是,当把多个应用标识符及其数据域放在一个条码符号中时,FNC1作为分隔符使用。FNC3(初始化)用于指示条码识读设备将包含此字符的数据视为初始化或对条码识读设备重新编程。FNC2(信息添加)和FNC4(扩展ASCII字符集)不在UCC·EAN系统中使用。注:如果FNC1出现在起始符后面的第一个位置或在数字区域的第奇数个位置,将其视为2位数字,以确定

12、合适的字符集。除终止符外,Code 128(UCC/ EAN-128)码的每个符号字符都被赋予一个字符值,字符值可以在确定128码的符号校验字符的计算过程中使用。3.3 符号编码规则3.3.1 起始符、切换字符和转换字符的使用规则推荐精选由于UCC/ EAN-128码(或其它128码)有三个字符集可供编码使用,通过使用不同的起始、切换和转换字符的组合,可以对相同的数据有不同的符号编码表示。但是,编码有一个原则,就是应该使表示给定的数据时符号字符的个数最少,从而使符号的长度最小。例如,在对多位数字的数据进行符号编码时应优先采用字符集C,这样每两位数字可用一个符号字符编码,减少了符号字符的个数。1

13、、 起始符(Start A、B或C)的确定a) 如果数据以偶数位数字或4位以上的数字开始,用Start C。b) 如果数据以ASCII控制字符开始,用Start A。c) 其它情况下用Start B。2、 切换字符(CODE A、B或C)的使用a) 如果使用了起始符Start C,且数据中连在一起的数字个数为奇数,应在最后一位数字前加入切换字符CODE A或CODE B。最后一位数字后面紧跟的是ASCII控制字符加入CODE A,否则加入CODE B。b) 当采用字符集A或B,数据中出现4个或更多连在一起的数字时,若为偶数个数字则在第一个数字前插入CODE C;若为奇数个数字则在第一个数字后插

14、入CODE C,切换到字符集C。c) 当采用字符集C,数据中出现一个非数字字符时,应在该字符前加入切换字符CODE A或CODE B。该字符是ASCII控制字符加入Code A,否则加入CODE B。3、 转换字符(SHIFT)的使用a) 当采用字符集B,数据中出现ASCII控制字符时,若该字符后有小写英文字母,则在该字符前插入转换字符SHIFT;否则在该字符前插入切换字符CODE A切换到字符集A。b) 当采用字符集A,数据中出现小写英文字母时,若该小写字母后面、另一个小写字母前有ASCII控制字符,则在该小写字母插入转换字符SHIFT;否则在该小写字母前插入切换字符CODE B切换到字符集

15、B。如前所述,使用不同的起始、切换和转换字符的组合,可以对相同的数据有不同的符号编码表示。例如,对数据“(01)06901234567892”进行符号编码,按照规则,用“Start C+FNC1+数据字符+校验符+终止符”是最佳方案,由此生成的条码符号见图1,但我们常常见到用“Start B+FNC1+CODE C+数据字符+校验符+终止符”的编码表示,这在EAN·UCC规范(GS1规范)中也屡见不鲜,这种编码生成的条码符号见图4。比较图1和图4的条码符号可见,两个符号的起始符不同;后一个符号比前一个多一个“CODE C”字符;两个符号的校验字符不同,前者为“17”,后者为“68”。

16、两个符号使用的字符和字符个数有差异,经计算得出的校验字符值就可能不同,但由于校验字符不在供人识别字符中表示,也不在译码时输出,因此两个符号的供人识别字符及译码结果都相同。但是后一种编码表示比前一种多用了一个字符,并且有“多此一举”之嫌。究其原因,是编制者认为“FNC1”是非数字字符,“FNC1”不可在字符集C中使用,因此要以“Start B”开始。其实我们看字符集便知,“FNC1”是三个字符集都有的字符,而且从3.2中的注可知,“FNC1”通常是被当作2位数字对待的,它当然可以在字符集C中使用。同一数据可能有不同的128条码符号编码表示,这常常使刚接触128条码的人迷惑不解。了解了上述编码原理

17、就不难理解了。正像用各种方法都能正确解答推荐精选同一道数学题一样,各种符号编码表示只要能正确地表示数据、能正确被译码,我们就不能评价哪一种对、哪一种错,只能说哪一种更简捷。 图4 相同的数据(同图1中)、不同的符号编码表示3.3.2 单元数据串的编码规则如前所述,UCC/EAN-128码是非定长的条码,除了可表示贸易项目的标识(如全球贸易项目代码)外,还可用于表示批号、生产日期、贸易计量(重量、尺寸、体积等)、保质期等各种附加信息,从而广泛用于非零售贸易项目、物流单元、资产、位置的标识。诸如贸易项目标识、批号、生产日期等这样的在结构和意义上已经定义了的一条数据即单元数据串。每个单元数据串由一个

18、标识部分(前缀码或应用标识符)和一个数据部分组成。例如,“(01)06901234567892”是表示定量贸易项目标识的单元数据串;“(11)060818”是表示生产日期的单元数据串,其中圆括号中的数字是应用标识符,圆括号后的数据是数据部分。在供人识别字符中,应该用圆括号把应用标识符括起来,以便于识读,但这些圆括号不是数据的一部分,不应在128条码中编码表示这些圆括号。在把多个单元数据串编码于一个128条码中时,要遵循“先预定义长度单元数据串,后可变长度单元数据串”的原则。所谓预定义长度单元数据串是指那些预先设定了数据串长度且长度不变的单元数据串,如贸易项目标识、生产日期等单元数据串,这些单元

19、数据串使用的应用标识符(前两位)和字符总数见表2。预定义长度单元数据串的后面不需要插入分隔符(FNC1字符);非预定义长度单元数据串(即可变长度单元数据串)的后面则必须插入分隔符,但128条码中最后一个单元数据串的后面不需要插入分隔符。“先预定义长度单元数据串”的目的就是为了要减少分隔符的用量。表2 预定义长度单元数据串的应用标识符及字符总数应用标识符(前两位)数据串字符总数(含应用标识符)应用标识符(前两位)数据串字符总数(含应用标识符)00201780116 1880216 198 0316204 04183110118321012833101383410推荐精选 148 3510158

20、3610 1684116注:打号的是预留的、尚未分配的应用标识符。·链接 所谓链接即在符号编码时把两个以上的单元数据串连在一起。链接时按照“预定义长度单元数据串的后面不加分隔符(FNC1字符),可变长度单元数据串的后面加分隔符”的规则进行处理,然后看数据串接合部是否需要进行字符集的转换(注),再把各单元数据串连接在一起即可。还要注意:最后一个单元数据串后面不加分隔符;形成的条码符号,数据字符的个数不超过48个,物理长度不大于165mm。(注):在这方面我们又看到“多此一举”的例子(见GS1规范5.3),在两个均使用字符集C的可变长度单元数据串“单价365”和“批号123456”之间加

21、入“CODE B+FNC1+CODE C”,再进行链接。其实只需加入“FNC1”即可,原因请读者自行分析。4 标准译码算法UCC/EAN-128条码的标准译码算法用测量符号字符中相邻两个条的同侧边(相似边)之间距离、然后判断同侧边之间距离中所包含的模块宽度的个数的方法进行译码。除终止符外,每个条码字符由3个条和3个空构成,因此每个字符有4个需要测量的同侧边之间距离e1e4(见图5),每个字符的e1e4相应的4个依次排列的模块宽度数具有区别于其他字符的特征,根据这种特征就可以确定字符的值。译码过程要求同侧边之间距离出现的偏差不超过±0.5个模块宽度(0.5p/11)。由于终止符由4个条

22、和3个空构成,译码时只取终止符从左至右的6个单元即3个条和3个空(从左至右扫描时)或从右至左的6个单元(从右至左扫描时)进行上述测量、判断。如前所述,每个符号字符中所有条的模块总数为偶数,标准译码算法利用这一特性来进行字符的自校验:求出被译码的符号字符中3个条应有的模块总数V,测量该字符中3个条的宽度之和(b1+ b2+ b3)及字符宽度p,核对式子(V1.75)p/11<( b1+ b2+ b3) <(V+1.75)p/11是否成立,如果不成立则字符是错误的。b1b2e1e2e3e4pb3图5 符号字符与译码有关的尺寸5 符号尺寸要求UCC/EAN-128条码符号的X尺寸(设计模块宽度)应在0.250mm1.016mm范围内,在一个给定的符号中X尺寸应为一个定值。推荐精选UCC/EAN-128条码符号左、右空白区的最小宽

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论