首页 GS1-128-条形码标准

GS1-128-条形码标准

举报
开通vip

GS1-128-条形码标准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系统中唯一可用于表示附加信息的条码,可广泛用于非...

GS1-128-条形码标准
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系统中唯一可用于表示附加信息的条码,可广泛用于非零售贸易项目、物流单元、资产、位置的标识。今年,UCC/EAN-128条码已被更名为GS1-128条码。1.UCC/EAN-128条码的特点·UCC/EAN-128条码的编码字符集属于字母/数字式字符集。字符集中包括,ASCII码(美国信息交换标准码)中码值从00至127的128个码所代表的字符(这正是128条码被称作Code128的原因)以及00至99这100个两位数字。其中的ASCII码字符包括,0~9这十个数字,全部英文大小写字母,“!”、“,”、“+”、“-”、“*”、“/”、“@”、“空格”等符号以及“DEL”、“ESC”等控制字符。但是UCC/EAN-128条码不使用“空格”符号。注:通过使用功能4(FNC4)字符,Code128条码还能对ASCII值为128~255的字符编码,这一功能保留在将来使用,但UCC/EAN-128条码不使用。·UCC/EAN-128条码使用一个起始符加一个FNC1字符的双字符起始图形,这是UCC/EAN-128条码的特殊标志。·除终止符外,每个条码字符由3个条和3个空构成。每个条或空由1~4个模块组成,每个条码字符的总模块数为11。UCC/EAN-128码属于模块组配的条码,又称“n,k”条码,即每个字符总模块数为11(n=11)、由3个条和3个空(k=3)组成。终止符由4个条和3个空构成。·字符与字符是紧密相连的,不需要字符间隔,所以UCC/EAN-128码是连续型条码。·UCC/EAN-128码是非定长的条码,字符的个数可根据实际需要确定,但是在符号的物理长度和数据字符的个数方面有一定的限制,即每个符号的最大物理长度为165mm、数据字符个数最多为48个。·可双向译码,即从左至右或从右至左扫描都可以对UCC/EAN-128码译码。·有字符自校验功能。·有一个必需的符号校验字符。但符号校验字符不是数据的一部分,不在供人识别字符中表示,也不在译码时输出。2.符号结构UCC/EAN-128条码符号由左侧空白区、一个起始符(StartA,StartB或StartC)和一个FNC1字符组成的双字符起始图形、数据字符(包括应用标识符)、一个符号校验字符、终止符、右侧空白区及供人识别字符组成,见图1。图1UCC/EAN-128条码的符号结构3.符号字符的结构和编码3.1符号字符的结构如前所述,除终止符外,每个条码字符由3个条和3个空构成。每个条或空由1~4个模块组成,每个条码字符的总模块数为11,示例见图2。1234567891011211232“StartC”字符1234567891011431112311“FNC1”字符1234567891011131321符号字符值为35的字符图2符号字符的结构示例终止符由4个条和3个空构成,共13个模块,见图3。123456789101112132331112图3终止符的结构由符号字符的结构可见,每个符号字符中所有条的模块总数为偶数,所有空的模块总数为奇数,利用这一奇偶特性能够实现字符的自校验。3.2符号字符集Code128(UCC/EAN-128)条码的符号字符集(部分节选)见表1。表1Code128符号字符集(部分节选)符号字符值字符集A字符集A字符的ASCII值字符集B字符集B字符的ASCII值字符集C单元宽度(模块数)字符图形条空条空条空12345678910110空格32空格32002122221!33!33012221222"34"34022222213#35#35031212232485685624311222259579572532112233A65A653311132334B66B663413112365SOH01a976512112466STX02b986612142198SHIFTSHIFT9841131199CODECCODEC99113141100CODEBFNC4CODEB114131101FNC4CODEACODEA311141102FNC1FNC1FNC1411131103StartA211412104StartB211214105StartC211232符号字符值字符集A字符集B字符集C单元宽度(模块数)字符图形—Stop(终止符)BSBSBSB123456789101112132331112Code128(UCC/EAN-128)条码有三个符号字符集,分别是字符集A、字符集B和字符集C。字符集A包括:ASCII值为00~95的字符,即所有大写英文字母、数字0~9、标点字符、控制字符;7个特殊字符。字符集B包括:ASCII值为32~127的字符,即所有大、小写英文字母、数字0~9、标点字符;7个特殊字符。字符集C包括:100个两位的数字字符00~99(这样每个符号字符可以表示两个数字);3个特殊字符。虽然Code128(UCC/EAN-128)条码有三个符号字符集,但是实际上三个字符集共同使用着一套符号字符值和符号字符条空图形,也就是说,用一套符号字符条空图形来表示三个符号字符集的字符。例如在表1中,字符值为65的符号字符图形是“条空条空条空”的宽度(模块数)为“121124”的条空图形,它可以表示字符集A中的“SOH”、字符集B中的“a”和字符集C中的“65”。为了能实现用一套符号字符图形来表示三个符号字符集的字符,需要使用一些起始定义字符、切换字符和转换字符来说明符号字符图形表示的是哪一个字符集的字符,表1字符值从98至105的字符中就有这样一些字符:·起始符A(StartA)——定义符号以字符集A开始。·起始符B(StartB)——定义符号以字符集B开始。·起始符C(StartC)——定义符号以字符集C开始。·切换字符(CODEA、CODEB、CODEC)——把先前定义的字符集切换到切换字符所定义的新的字符集。例如,CODEA切换到字符集A,依此类推。·转换字符(SHIFT)——把紧跟其后的一个字符由字符集A转换到字符集B或由字符集B转换到字符集A,在被转换的那个字符后面的字符则自动恢复到转换字符之前定义的字符集A或B。Code128(UCC/EAN-128)码的符号字符中有四个功能字符:FNC1、FNC2、FNC3和FNC4。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位数字,以确定合适的字符集。除终止符外,Code128(UCC/EAN-128)码的每个符号字符都被赋予一个字符值,字符值可以在确定128码的符号校验字符的计算过程中使用。3.3符号编码规则3.3.1起始符、切换字符和转换字符的使用规则由于UCC/EAN-128码(或其它128码)有三个字符集可供编码使用,通过使用不同的起始、切换和转换字符的组合,可以对相同的数据有不同的符号编码表示。但是,编码有一个原则,就是应该使表示给定的数据时符号字符的个数最少,从而使符号的长度最小。例如,在对多位数字的数据进行符号编码时应优先采用字符集C,这样每两位数字可用一个符号字符编码,减少了符号字符的个数。1、起始符(StartA、B或C)的确定a)如果数据以偶数位数字或4位以上的数字开始,用StartC。b)如果数据以ASCII控制字符开始,用StartA。c)其它情况下用StartB。2、切换字符(CODEA、B或C)的使用a)如果使用了起始符StartC,且数据中连在一起的数字个数为奇数,应在最后一位数字前加入切换字符CODEA或CODEB。最后一位数字后面紧跟的是ASCII控制字符加入CODEA,否则加入CODEB。b)当采用字符集A或B,数据中出现4个或更多连在一起的数字时,若为偶数个数字则在第一个数字前插入CODEC;若为奇数个数字则在第一个数字后插入CODEC,切换到字符集C。c)当采用字符集C,数据中出现一个非数字字符时,应在该字符前加入切换字符CODEA或CODEB。该字符是ASCII控制字符加入CodeA,否则加入CODEB。3、转换字符(SHIFT)的使用a)当采用字符集B,数据中出现ASCII控制字符时,若该字符后有小写英文字母,则在该字符前插入转换字符SHIFT;否则在该字符前插入切换字符CODEA切换到字符集A。b)当采用字符集A,数据中出现小写英文字母时,若该小写字母后面、另一个小写字母前有ASCII控制字符,则在该小写字母插入转换字符SHIFT;否则在该小写字母前插入切换字符CODEB切换到字符集B。如前所述,使用不同的起始、切换和转换字符的组合,可以对相同的数据有不同的符号编码表示。例如,对数据“(01)06901234567892”进行符号编码,按照规则,用“StartC+FNC1+数据字符+校验符+终止符”是最佳方案,由此生成的条码符号见图1,但我们常常见到用“StartB+FNC1+CODEC+数据字符+校验符+终止符”的编码表示,这在EAN·UCC 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 (GS1规范)中也屡见不鲜,这种编码生成的条码符号见图4。比较图1和图4的条码符号可见,两个符号的起始符不同;后一个符号比前一个多一个“CODEC”字符;两个符号的校验字符不同,前者为“17”,后者为“68”。两个符号使用的字符和字符个数有差异,经计算得出的校验字符值就可能不同,但由于校验字符不在供人识别字符中表示,也不在译码时输出,因此两个符号的供人识别字符及译码结果都相同。但是后一种编码表示比前一种多用了一个字符,并且有“多此一举”之嫌。究其原因,是编制者认为“FNC1”是非数字字符,“FNC1”不可在字符集C中使用,因此要以“StartB”开始。其实我们看字符集便知,“FNC1”是三个字符集都有的字符,而且从3.2中的注可知,“FNC1”通常是被当作2位数字对待的,它当然可以在字符集C中使用。同一数据可能有不同的128条码符号编码表示,这常常使刚接触128条码的人迷惑不解。了解了上述编码原理就不难理解了。正像用各种方法都能正确解答同一道数学题一样,各种符号编码表示只要能正确地表示数据、能正确被译码,我们就不能评价哪一种对、哪一种错,只能说哪一种更简捷。图4相同的数据(同图1中)、不同的符号编码表示3.3.2单元数据串的编码规则如前所述,UCC/EAN-128码是非定长的条码,除了可表示贸易项目的标识(如全球贸易项目代码)外,还可用于表示批号、生产日期、贸易计量(重量、尺寸、体积等)、保质期等各种附加信息,从而广泛用于非零售贸易项目、物流单元、资产、位置的标识。诸如贸易项目标识、批号、生产日期等这样的在结构和意义上已经定义了的一条数据即单元数据串。每个单元数据串由一个标识部分(前缀码或应用标识符)和一个数据部分组成。例如,“(01)06901234567892”是表示定量贸易项目标识的单元数据串;“(11)060818”是表示生产日期的单元数据串,其中圆括号中的数字是应用标识符,圆括号后的数据是数据部分。在供人识别字符中,应该用圆括号把应用标识符括起来,以便于识读,但这些圆括号不是数据的一部分,不应在128条码中编码表示这些圆括号。在把多个单元数据串编码于一个128条码中时,要遵循“先预定义长度单元数据串,后可变长度单元数据串”的原则。所谓预定义长度单元数据串是指那些预先设定了数据串长度且长度不变的单元数据串,如贸易项目标识、生产日期等单元数据串,这些单元数据串使用的应用标识符(前两位)和字符总数见表2。预定义长度单元数据串的后面不需要插入分隔符(FNC1字符);非预定义长度单元数据串(即可变长度单元数据串)的后面则必须插入分隔符,但128条码中最后一个单元数据串的后面不需要插入分隔符。“先预定义长度单元数据串”的目的就是为了要减少分隔符的用量。表2预定义长度单元数据串的应用标识符及字符总数应用标识符(前两位)数据串字符总数(含应用标识符)应用标识符(前两位)数据串字符总数(含应用标识符)0020178011618﹡8021619﹡803﹡1620404﹡18311011832101283310138341014﹡835﹡1015836﹡1016﹡84116注:打﹡号的是预留的、尚未分配的应用标识符。·链接所谓链接即在符号编码时把两个以上的单元数据串连在一起。链接时按照“预定义长度单元数据串的后面不加分隔符(FNC1字符),可变长度单元数据串的后面加分隔符”的规则进行处理,然后看数据串接合部是否需要进行字符集的转换(注),再把各单元数据串连接在一起即可。还要注意:最后一个单元数据串后面不加分隔符;形成的条码符号,数据字符的个数不超过48个,物理长度不大于165mm。(注):在这方面我们又看到“多此一举”的例子(见GS1规范5.3),在两个均使用字符集C的可变长度单元数据串“单价365”和“批号123456”之间加入“CODEB+FNC1+CODEC”,再进行链接。其实只需加入“FNC1”即可,原因请读者自行分析。4标准译码算法UCC/EAN-128条码的标准译码算法用测量符号字符中相邻两个条的同侧边(相似边)之间距离、然后判断同侧边之间距离中所包含的模块宽度的个数的方法进行译码。除终止符外,每个条码字符由3个条和3个空构成,因此每个字符有4个需要测量的同侧边之间距离e1~e4(见图5),每个字符的e1~e4相应的4个依次排列的模块宽度数具有区别于其他字符的特征,根据这种特征就可以确定字符的值。译码过程要求同侧边之间距离出现的偏差不超过±0.5个模块宽度(0.5p/11)。由于终止符由4个条和3个空构成,译码时只取终止符从左至右的6个单元即3个条和3个空(从左至右扫描时)或从右至左的6个单元(从右至左扫描时)进行上述测量、判断。如前所述,每个符号字符中所有条的模块总数为偶数,标准译码算法利用这一特性来进行字符的自校验:求出被译码的符号字符中3个条应有的模块总数V,测量该字符中3个条的宽度之和(b1+b2+b3)及字符宽度p,核对式子(V–1.75)p/11<(b1+b2+b3)<(V+1.75)p/11是否成立,如果不成立则字符是错误的。图5符号字符与译码有关的尺寸5符号尺寸要求UCC/EAN-128条码符号的X尺寸(设计模块宽度)应在0.250mm~1.016mm范围内,在一个给定的符号中X尺寸应为一个定值。UCC/EAN-128条码符号左、右空白区的最小宽度均为10X。UCC/EAN-128条码符号的条高通常情况下为32mm。UCC/EAN-128条码符号的长度不能超过165mm。6符号检测方法和质量要求采用GB/T14258-2003《条码符号印制质量的检验》中规定的方法进行检测。要注意的是:对空白区宽度的检测结果要进行分级,空白区宽度够(≥10Z,Z为印制的条码符号的实际模块宽度)评为4级;空白区宽度不够(<10Z)评为0级。空白区宽度的等级还要参与符号等级的评定。可译码度值的检测、计算方法如下:各条码字符与字符中相邻两条左、右同侧边缘之间距离相关的可译码度值V1按公式(1)计算。(1)式中:ei——字符中相邻两条左、右同侧边缘之间距离(i=1,2,3,4)e1、e2、e3、e4的测量值;RTj——标准阈值(j=1,2,3,4,5,6,7),其中RT1=1.5p/11、RT2=2.5p/11、RT3=3.5p/11、RT4=4.5p/11、RT5=5.5p/11、RT6=6.5p/11、RT7=7.5p/11;p——相应字符的宽度的测量值。各条码字符与字符中条的宽度总和相关的可译码度值V2按公式(2)计算。(2)式中:Wb——字符中条的宽度总和的测量值;p——相应字符的宽度的测量值;M——字符中条的模块数。注:由于终止符比其它条码字符多一个终止条,终止符的可译码度值V1和V2都需要计算两次,第一次使用从左至右的6个单元,第二次使用从右至左的6个单元,取两次计算值中的较小者。各条码字符的可译码度值为相应的V1值、V2值中的较小者。扫描反射率曲线的可译码度为该扫描反射率曲线所有条码字符的可译码度值中的最小值。UCC/EAN-128条码符号的符号等级应不低于1.5/10/670。(注:可编辑下载,若有不当之处,请指正,谢谢!)校验字符(17)终止符数据字符双字符起始图形右侧空白区左侧空白区FNC1StartC供人识别字符b1b2e1e2e3e4pb3推荐精选推荐精选推荐精选
本文档为【GS1-128-条形码标准】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
夕夕资料
拥有专业强大的教研实力和完善的师资团队,专注为用户提供合同简历、论文写作、PPT设计、计划书、策划案、各类模板等,同时素材和资料部分来自网络,仅供参考.
格式:doc
大小:294KB
软件:Word
页数:0
分类:成人教育
上传时间:2021-03-30
浏览量:66