日文 给自己的一封信:商品条码详解(上)

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 20:25:43
        商品条码的编码方法采用的是模块组配法。所谓模块组配法就是以一个标准宽度的单元为一个模块,每个条或空由若干个模块组成。     商品条码的编码规则:每个标准模块宽度为0.33毫米,每个字符由7个模块构成,这7个模块组成2条2空,每个条或空由1-4个模块构成。下图是商品条码从0到9的条码符号:        条码符号分为A子集和C子集两种编码,同一个字符的两个子集的符号恰好互补,A子集组成条的模块数都为奇数,称为奇排列,C子集组成条的模块数都为偶数,称为偶排列。我们把条对应二进制数字1,把空对应二进制数字0,就可以得到条码符号对应的二进制表示:   一、UPC-A条码     要搞清楚商品条码的来龙去脉,我觉得还是从UPC条码开始讲比较好。     UPC商品条码是定长条码,条码符号一共可以表示12个数字。如图:  
     起始符为3个模块,两条夹一空,用二进制记为101,中间分隔符占用5个模块,即中间的两条加左中右的三个空,记为01010,终止符也是两条夹一空,记为101。     起始符后到中间分隔符前为左数据区,表示6个数字,所以就有6组两条两空,中间分隔符后到终止符前为右数据区,也表示6个数字,也同样有6组两条两空。因为起始符以条结束,所以左数据区的符号均以空开始,以条结束,使用的是A子集。中间分隔符以空开始,空结束,所以右侧数据区的符号要以条开始,空结束,因此右侧数据区的符号使用C子集。     条码的左、右空白区是为扫描器识别条码准备开始和结束的判断依据,因此必须保持一定的宽度,UPC-A条码规定左右空白区均为9个模块宽。      符号的长度:每个数字均由7个模块组成,数据区的模块数就是7*12=84,起始符是3个模块,中间分隔符是5个模块,终止符也是3个模块,因此符号总模块数就是84+3+5+3=95。     符号长度就是95*0.33=31.35毫米,如果算上两侧空白区则是37.29毫米。      商品条码的标准规定,条码符号可以在放大系数为0.8—2.0之间变化,因此条码符号的实际大小就是在29.83-—74.58毫米之间(含左右空白区)。
二、EAN-13条码     EAN-13条码源于欧洲,是在UPC-A条码的基础上发展起来的一种条码。欧洲将美国的UPC条码引入后,由于需要区分不同的国家,因此原有的12位数字已不够用,便将数字位数增加为13位。但是如果另外设计一种码制,欧洲与美国的条码制式将会完全不同,不便于世界范围内的商品流通。科学家们经过反复研究试验,终于找到了一个两全其美的方法。     下面是一个EAN-13条码:    
      仔细观察可以发现,它的左数据区和右数据区的条码符号仍然是6组两条两空,也就是说它仍然表示的是12位数字,那么多出来的那一位数字是如何解决的呢?      其实,在设计商品条码的符号编排的时候,还有一个B子集,如图:                B子集的条空结构正好与C子集的条空结构左右对换。EAN-13的13位数字,我们只用条码符号表示右12位,左边一位放在起始符左侧,称为前置码,不用条码符号表示,而是将左侧数据区的6位数字采用不同的AB子集的排列来表示。不同前置码左数据区6位数字使用的AB子集排列见下表:(注:商品条码的数字位数自右向左排列,所以前置码是第13位,后面的6位分别是第12位到第7位)         例如:条码数字6902890884910,前置码为6,按上表查出来左侧数据区的6位数字子集排列为ABBBAA,即6(前置码)9(A子集)0(B子集)2(B子集)8(B子集)9(A子集)0(A子集)。由于B子集与A子集一样,也是空开始,条结束。所以AB子集可以在左侧数据区混合使用。右侧数据区的条码符号仍然使用C子集。为了保持EAN-13条码与UPC-A条码兼容,将左侧数据区都为A子集排列的情况定义为前置码0,因此,UPC-A条码也可以说是前置码为0的EAN-13条码。     如此就圆满地解决了多出来的一位数字,又保持了条码符号的统一。与UPC-A条码不同的是,EAN-13规定左空白区为11个模块宽,而右空白区为7个模块宽,左边多了两个,右边少了两个,条码符号的尺寸仍然与UPC-A保持一致。
本文来自:郑州恒佑科技官网,如需转载,请注明出处 http://www.labelmx.com/tech/CodeKown/Code/200911/4248.html