(一)一维条码系统的主要元素
(二)一维条码技术内容
1 、码制
条码码制是指对条码符号的类型 , 不同类型的条码符号 , 条、空图案对数据的编码方法各有不同。每种码制都极有固定的编码容量和所规定的字符集。
2 、条码编码
条码编码是指按一定的规则,用条、空图案对一数字或一字符进行表示。条码编码方法分为两种:宽度调节法和模块组配法。
宽度调节是指条码的条(空)宽的宽窄设置不同,用宽单元表示二进制“ 1 ”,用窄单元表示“ 0 ”,宽窄单元比一般控制在 2.00-3.00 。 39 条码、库德巴条码、交插 25 条码均属按宽度调节法编码的条码符号。
模块组配法是指按条码符号中每个条码字符的条与空分别由若干个模块组配而成,一个模块宽的条表示二进制“ 1 ”,一个模块宽的空表示二进制“ 0 ”。通用商品条码( EAN 码、 UPC 码)、 UCC/EAN-128 码等均属按模块组配法进行编码的条码符号。
3 、条码纠错
一维条码采用校验码来确保识读的正确,有些条码中含有校验码的计算方法,有些条码在一个条码字符内部就含有校验的机制。
4 、编码容量
每个码制都有一定的编码容量,这是由其编码方法决定的,编码容量限制了条码字符集中所含字符的数目,对于用宽度调节法编码、仅有两种宽度单元的条码符号,编码容量为 C ( n,k ),这里, (n,k)=n(n-1)… ( n-k+1 ) /k! 。其中 n 是每一条码字符中所包含的单元总数, k 是宽单元或窄单元的数量。
5 、条码字符集
条码字符集是指某种条码所含全部条码字符的集合。条码字符集中字符总数不能大于该种码制的编码容量。有些码制仅能表示 10 个数字字符: 0-9 ,如 EAN/UPC 码,交插 25 条码;有些条码除了能表示 10 个数字字符外,还可以表示几个特殊字符,如库德巴条码。 39 条码可表示数字字符: 0-9 , 26 个英文字母( A-Z )以及一些特殊符号。
6 、连续性与非连续性
条码符号的连续性是指每个条码字符之间不存在间隔;相反,非连续性是指每个条码字符之间存在间隔。从某种意义上讲,由于连续性条码不存在条码字符间隔,所以密度相对较高;而非连续性条码的密度相对较低,但非连续性条码字符间隔会引起较大误差,一般规范不给出具体指标限制。 另外,对连续性条码除了控制条空的尺寸误差外,还需控制相邻条与条、空与空的相同边缘间的尺寸误差及每一条码字符的尺寸误差。
7 、定长条码与非定长条码
定长条码指仅能表示固定字符个数的条码;非定长条码是指能表示可变字符格式的条码,例如, EAN 、 UPC 码是定长条码(其中 EAN13 仅能表示 13 个字符), 39 玛为非定长条码。定长条码由于限制了表示字符的个数,所以译码的误识率相对较低,非定长条码具有灵活、方便等优点,但受扫描器及印刷面积的限制,它不能表示任意多个字符,并且在扫描识读过程中会因信息丢失而导致译码错误。
8 、双向可读性
条码符号的双向可读性,是指从条码的左右两侧开始扫描都可被识读的特性,它也是条码符号和扫描设备的综合特性。对于双向可读的条码,识读过程中译码器需要判断扫描方向。有些类型的条码符号,其扫描方向的判定是通过起始符与终止符来完成的,例如, 39 条码、交插 25 条码、库德巴条码。有些类型的条码,由于从两个方向扫描的起始符和终止符所产生的数字脉冲信号全部相同,所以无法用它来判断扫描方向,例如, EAN 和 UPC 码,在这种情况下,扫描方向的判定则是通过条码数据符的特定组合来完成的。
9 、自校验特性
条码符号的自校验特性是指条码字符本身具有校验特性。例如 39 条码,库德巴条码,交插 25 码都具有自校验功能。 EAN 和 UPC 条码、 93 条码、矩阵 25 条码都没有自校验功能。 自校验功能也能校验出一些印刷缺陷。对于某种码制,是否具有自校验功能是由其编码结构决定的。码制设计者在设计条码符号时,就已经确定了该条码是否具有此功能。
10 、条码符号的密度
条码符号的密度是指单元长度上所含有的条码字符的个数。对于任何一种码制来说,各单元的宽度越小,条码符号的密度就越高,越节省印刷面积。但由于印刷条件及扫描条件的限制,很难把条码符号的密度做得太高。 39 条码的密度为 9.4 个 /25.4mm (9.4 个 /in) ;库德巴的为 10 个 /25.4 mm (10 个 /in) ;交插 25 条码的密度为 17.1/25.4 mm (17 个 /in) 。对于一种条码符号,密度越高,所需扫描设备的分辨率也就越高,而随着扫描设备分辨率的增加,设备对印刷缺陷的敏感度也就越高。
11 、一维条码符号的结构
• 左侧空白区
位于条码左侧无任何符号的白色区域,主要用于提示扫描器准备开始扫描。
• 起始符
条码字符的首位字符,用于标识一个条码符号的开始,扫描器确认此字符存在后开始处理扫描脉冲。
• 数据符
位于起始符后的字符,用来标识一个条码符号的具体数值,允许双向扫描。
• 检验符
用来判定此次扫描是否有效的字符,通常是一种算法运算的结果。扫描器读入条码进行解码时,先对读入各字符进行运算,如运算结果与检验码相同,则判定此次识读有效。
• 终止符
位于条码符号右侧,表示信息结束的特殊符号。
• 右侧空白区
在终止符之外的无印刷符号且条与空颜色相同的区域。
(三)常见码制
1 、 EAN 条码
EAN 条码符号有两种版本,即 13 位标准码(又称 EAN-13 码)和 8 位缩短码(又称 EAN-8 码)。
图: EAN-13 条码符号 图 EAN-8 条码符号
它们具有以下共同特点
• 条码符号由一系列相互平行的条和空组成,四周留有空白区。
• EAN 条码字符集包括 A 子集、 B 子集和 C 子集。每个条码符号均由 2 个条和 2 个空构成。每个条和空由 1-4 模块组成,每个条码字符的总模块数为 7 。条码字符集可表示 0-9 共 10 个数字字符。
• 除了表示数字的条码符号外,还有一些辅助条码字符,用作表示起始,终止的定界符和平分条码符号的中间分隔符。
• 供人识别字符位于条码符号下方,与条码相对应的 13 位数字,采用 OCR-B 字符。
2 、 UPC 条码
UPC 条码是由美国统一代码委员会( UCC )制定的一种码制,有 UPC-A 和 UPC-E 条码。
( 1 ) UPC-A 包括 12 位数字。 UPC-A 条码与前置码为 ”0” 的 EAN-13 条码兼容。
( 2 ) UPC-E 是由 8 位数字组成,是将系统字符为 0 的 UPC-A 代码进行消零压缩所得。只有当商品很小,无法印刷表示 UPC-A 时,才允许使用代码。
图: UPC-A 图: UPC-E
3 、 EAN-128 条码
为进一步表示商品的有关信息,有时需要对 EAN 、 UPC 代码增加补充代码,补充代码采用 UCC/ EAN-128 条码符号(简称 EAN-128 )表示条码。只要 EAN-128 条码能表示 EAN 、 UPC 标准补充码的条码符号。它是一种连续型、非定长、有含义的高密度代码。
图: EAN-128 条码符号
EAN-128 条码的符号特点:
• EAN-128 时由一组平行的条和空组成的长方形图案。
• 除终止符有 13 个模块组成,其他字符均由 11 个模块组成。
• 在条码字符中,每 3 个条和 3 个空组成一个字符,终止符由 4 个条和 3 个空组成。条和空都有 4 宽度单位,可以从一个模块宽到 4 个模块宽。
• EAN-128 条码有一个由字符 START A ( B 或 C )和字符 FNC1 构成的特殊双字符起始符,即 START ( B 或 C ) + FNC1 。
• 符号中通常采用符号校验符。符号校验符不属于条码字符的一部分,也区别于数据代码中的任何校验码。
• 符号可以从左、右两个方向阅读。
• 符号的长度取决于编码字符的个数,编码字符可以从 3 位到 32 位(含应用标识符)。
• 对于一个特色定长度的 EAN-128 条码符号,符号的尺寸可能随放大系数的变化而变化。
• 一般情况下,条码符号的尺寸是指标准尺寸(放大系数为 1 )。放大系数的取值范围可从 0.25 — 1.2 。
4 、 ITF 条码符号
ITF 条码是用于储运单元的条码符号, ITF 条码符号有 ITF -14 , ITF -16 及 ITF – 6 (附加代码 add-on ),他们都是定长型条码。
图: ITF -14 条码
ITF 是英文 Interleaved Two of Five 的缩写。 ITF 条码是在交插二五条码的基础之上,扩展形成的用于储运包装上的条码。 为适应特定的印刷条件,多数情况下都在交插二五条码周围加了保护框。
5 、二五条码
二五条码研制于 60 年代后期,它用于仓库的分类管理,标示胶卷包装及机票的连续号等。
图:二五条码
二五条码有两种单元宽度,它仅用条表示信息,条码字符由规则排列的 5 个条组成,其中两个是宽条,其余是窄条。二五条码的编码容量为 C(5,2)=10 ,所以它的字符集为数字字符 0-9 。二五条码是一种非连续型、双向可读且具有自校验功能的非定长条码。
6 、交插二五条码
交插二五条码是由美国 intermec 公司与 1972 年发明,初期应用于仓储及重工业领域,标准化后用于储运单元的识别与管理。
图:交插二五条码
交插二五条码是一种条与空均表示信息的条码,在一个交插二五条码符号中仅有两种单元宽度,它的每一个条码数据符由 5 个单元组成,其中两个是宽单元(用二进制“ 1 ”表示),两个是窄单元(用二进制“ 0 ”表示)。在一个交插二五条码符号中,所有的宽单元相等,所有的窄单元相等,条(空)比一般控制在 2.00-3.00 之间。
交插二五条码是一种高密度条码,密度为 17.70 个 /(25.4mm). 在交插二五条码中一个印刷缺陷的存在并不致于产生替代错误,他是具有自校验功能的条码。因为从两个方向去识读条码符号都可以成功,所以它是双向刻度条码,由于它可表示不同个数字字符,所以是一种非定长条码。
7 、三九条码
三九条码是 1975 年 intermec 公司推出的一种条码,它能对数字和英文字母等 44 个字符进行编码。由于它具有误码率低、表示的字符个数多等优点,在汽车行业、经济管理、医疗卫生及邮政、储运单元等领域应用十分广泛。
图:三九条码
三九条码仅有两种单元宽度,它的每一个条码字符由 9 个单元组成,其中 3 个是宽单元,其余是窄单元。由于三九条码五条夹四空组合而成,它存在条码条码符号间隔,所以是非连续型条码。三九条码的设计具有较强的自校验功能,所以出现替代错误的概率很小。 它的密度为 40 个 / ( 25.4mm )。
8 、库德巴条码
库德巴条码是 1972 年推出的,它广泛应用于医疗卫生及图书行业, 1977 年美国输血协会将库德巴条码规定为血袋标识标准条码。
图:库德巴条码
在一个库德巴条码符号中,每一个字符由 7 个单元构成,其中两个或三个是宽单元,其余是窄单元。库德巴选 C(7,2) 或组合,其编码容量为 C(7,2) + C (7,3) = 46 ,而它的字符集中仅有 20 个字符:数字 0-9 ,字母 A 、 B 、 C 、 D ,特殊字符 $ , - ,:, / , . , + 。库德巴条码具有双向可读性,在阅读库德巴条码符号时,扫描方向的判定是通过终止符和起始符来实现的。库德巴条码是一种具有强自校验功能的条码。
9 、九三条码
九三条码于 1982 年推出,是一种密度很高的条码符号。三九条码有许多优点,但其密度不是很高,这是由其编码方法决定的,所以有些应用三九条码的场合,出现了印刷面积不足问题,九三条码的设计正是为了解决这一问题。九三条码与三九条码向兼容,主要表现在他们具有相同的数据字符集。
图:九三条码
九三条码采用模块组配法编码,九三条码的每一个条码字符共有 9 个模块组成,包括三个条和三个空,每一个条或空有 1 、 2 、 3 或 4 个模块组成。九三条码编码容量为 56 ,其选用了 48 种组合。 它没有自校验功能,,为了确保数据安全性,采用了双校验字符,其性能比三九条码还要高。
(一)一维条码系统的主要元素
(二)一维条码技术内容
1 、码制
条码码制是指对条码符号的类型 , 不同类型的条码符号 , 条、空图案对数据的编码方法各有不同。每种码制都极有固定的编码容量和所规定的字符集。
2 、条码编码
条码编码是指按一定的规则,用条、空图案对一数字或一字符进行表示。条码编码方法分为两种:宽度调节法和模块组配法。
宽度调节是指条码的条(空)宽的宽窄设置不同,用宽单元表示二进制“ 1 ”,用窄单元表示“ 0 ”,宽窄单元比一般控制在 2.00-3.00 。 39 条码、库德巴条码、交插 25 条码均属按宽度调节法编码的条码符号。
模块组配法是指按条码符号中每个条码字符的条与空分别由若干个模块组配而成,一个模块宽的条表示二进制“ 1 ”,一个模块宽的空表示二进制“ 0 ”。通用商品条码( EAN 码、 UPC 码)、 UCC/EAN-128 码等均属按模块组配法进行编码的条码符号。
3 、条码纠错
一维条码采用校验码来确保识读的正确,有些条码标准中含有校验码的计算方法,有些条码在一个条码字符内部就含有校验的机制。
4 、编码容量
每个码制都有一定的编码容量,这是由其编码方法决定的,编码容量限制了条码字符集中所含字符的数目,对于用宽度调节法编码、仅有两种宽度单元的条码符号,编码容量为 C ( n,k ),这里, (n,k)=n(n-1)… ( n-k+1 ) /k! 。其中 n 是每一条码字符中所包含的单元总数, k 是宽单元或窄单元的数量。
5 、条码字符集
条码字符集是指某种条码所含全部条码字符的集合。条码字符集中字符总数不能大于该种码制的编码容量。有些码制仅能表示 10 个数字字符: 0-9 ,如 EAN/UPC 码,交插 25 条码;有些条码除了能表示 10 个数字字符外,还可以表示几个特殊字符,如库德巴条码。 39 条码可表示数字字符: 0-9 , 26 个英文字母( A-Z )以及一些特殊符号。
6 、连续性与非连续性
条码符号的连续性是指每个条码字符之间不存在间隔;相反,非连续性是指每个条码字符之间存在间隔。从某种意义上讲,由于连续性条码不存在条码字符间隔,所以密度相对较高;而非连续性条码的密度相对较低,但非连续性条码字符间隔会引起较大误差,一般规范不给出具体指标限制。 另外,对连续性条码除了控制条空的尺寸误差外,还需控制相邻条与条、空与空的相同边缘间的尺寸误差及每一条码字符的尺寸误差。
7 、定长条码与非定长条码
定长条码指仅能表示固定字符个数的条码;非定长条码是指能表示可变字符格式的条码,例如, EAN 、 UPC 码是定长条码(其中 EAN13 仅能表示 13 个字符), 39 玛为非定长条码。定长条码由于限制了表示字符的个数,所以译码的误识率相对较低,非定长条码具有灵活、方便等优点,但受扫描器及印刷面积的限制,它不能表示任意多个字符,并且在扫描识读过程中会因信息丢失而导致译码错误。
8 、双向可读性
条码符号的双向可读性,是指从条码的左右两侧开始扫描都可被识读的特性,它也是条码符号和扫描设备的综合特性。对于双向可读的条码,识读过程中译码器需要判断扫描方向。有些类型的条码符号,其扫描方向的判定是通过起始符与终止符来完成的,例如, 39 条码、交插 25 条码、库德巴条码。有些类型的条码,由于从两个方向扫描的起始符和终止符所产生的数字脉冲信号全部相同,所以无法用它来判断扫描方向,例如, EAN 和 UPC 码,在这种情况下,扫描方向的判定则是通过条码数据符的特定组合来完成的。
9 、自校验特性
条码符号的自校验特性是指条码字符本身具有校验特性。例如 39 条码,库德巴条码,交插 25 码都具有自校验功能。 EAN 和 UPC 条码、 93 条码、矩阵 25 条码都没有自校验功能。 自校验功能也能校验出一些印刷缺陷。对于某种码制,是否具有自校验功能是由其编码结构决定的。码制设计者在设计条码符号时,就已经确定了该条码是否具有此功能。
10 、条码符号的密度
条码符号的密度是指单元长度上所含有的条码字符的个数。对于任何一种码制来说,各单元的宽度越小,条码符号的密度就越高,越节省印刷面积。但由于印刷条件及扫描条件的限制,很难把条码符号的密度做得太高。 39 条码的高密度为 9.4 个 /25.4mm (9.4 个 /in) ;库德巴的高为 10 个 /25.4 mm (10 个 /in) ;交插 25 条码的高密度为 17.1/25.4 mm (17 个 /in) 。对于一种条码符号,密度越高,所需扫描设备的分辨率也就越高,而随着扫描设备分辨率的增加,设备对印刷缺陷的敏感度也就越高。
11 、一维条码符号的结构
• 左侧空白区
位于条码左侧无任何符号的白色区域,主要用于提示扫描器准备开始扫描。
• 起始符
条码字符的首位字符,用于标识一个条码符号的开始,扫描器确认此字符存在后开始处理扫描脉冲。
• 数据符
位于起始符后的字符,用来标识一个条码符号的具体数值,允许双向扫描。
• 检验符
用来判定此次扫描是否有效的字符,通常是一种算法运算的结果。扫描器读入条码进行解码时,先对读入各字符进行运算,如运算结果与检验码相同,则判定此次识读有效。
• 终止符
位于条码符号右侧,表示信息结束的特殊符号。
• 右侧空白区
在终止符之外的无印刷符号且条与空颜色相同的区域。
(三)常见码制
1 、 EAN 条码
EAN 条码符号有两种版本,即 13 位标准码(又称 EAN-13 码)和 8 位缩短码(又称 EAN-8 码)。
图: EAN-13 条码符号 图 EAN-8 条码符号
它们具有以下共同特点
• 条码符号由一系列相互平行的条和空组成,四周留有空白区。
• EAN 条码字符集包括 A 子集、 B 子集和 C 子集。每个条码符号均由 2 个条和 2 个空构成。每个条和空由 1-4 模块组成,每个条码字符的总模块数为 7 。条码字符集可表示 0-9 共 10 个数字字符。
• 除了表示数字的条码符号外,还有一些辅助条码字符,用作表示起始,终止的定界符和平分条码符号的中间分隔符。
• 供人识别字符位于条码符号下方,与条码相对应的 13 位数字,采用 OCR-B 字符。
2 、 UPC 条码
UPC 条码是由美国统一代码委员会( UCC )制定的一种码制,有 UPC-A 和 UPC-E 条码。
( 1 ) UPC-A 包括 12 位数字。 UPC-A 条码与前置码为 ”0” 的 EAN-13 条码兼容。
( 2 ) UPC-E 是由 8 位数字组成,是将系统字符为 0 的 UPC-A 代码进行消零压缩所得。只有当商品很小,无法印刷表示 UPC-A 时,才允许使用代码。
图: UPC-A 图: UPC-E
3 、 EAN-128 条码
为进一步表示商品的有关信息,有时需要对 EAN 、 UPC 代码增加补充代码,补充代码采用 UCC/ EAN-128 条码符号(简称 EAN-128 )表示条码。只要 EAN-128 条码能表示 EAN 、 UPC 标准补充码的条码符号。它是一种连续型、非定长、有含义的高密度代码。
图: EAN-128 条码符号
EAN-128 条码的符号特点:
• EAN-128 时由一组平行的条和空组成的长方形图案。
• 除终止符有 13 个模块组成,其他字符均由 11 个模块组成。
• 在条码字符中,每 3 个条和 3 个空组成一个字符,终止符由 4 个条和 3 个空组成。条和空都有 4 宽度单位,可以从一个模块宽到 4 个模块宽。
• EAN-128 条码有一个由字符 START A ( B 或 C )和字符 FNC1 构成的特殊双字符起始符,即 START ( B 或 C ) + FNC1 。
• 符号中通常采用符号校验符。符号校验符不属于条码字符的一部分,也区别于数据代码中的任何校验码。
• 符号可以从左、右两个方向阅读。
• 符号的长度取决于编码字符的个数,编码字符可以从 3 位到 32 位(含应用标识符)。
• 对于一个特色定长度的 EAN-128 条码符号,符号的尺寸可能随放大系数的变化而变化。
• 一般情况下,条码符号的尺寸是指标准尺寸(放大系数为 1 )。放大系数的取值范围可从 0.25 — 1.2 。
4 、 ITF 条码符号
ITF 条码是用于储运单元的条码符号, ITF 条码符号有 ITF -14 , ITF -16 及 ITF – 6 (附加代码 add-on ),他们都是定长型条码。
图: ITF -14 条码
ITF 是英文 Interleaved Two of Five 的缩写。 ITF 条码是在交插二五条码的基础之上,扩展形成的用于储运包装上的条码。 为适应特定的印刷条件,多数情况下都在交插二五条码周围加了保护框。
5 、二五条码
二五条码研制于 60 年代后期,它用于仓库的分类管理,标示胶卷包装及机票的连续号等。
图:二五条码
二五条码有两种单元宽度,它仅用条表示信息,条码字符由规则排列的 5 个条组成,其中两个是宽条,其余是窄条。二五条码的编码容量为 C(5,2)=10 ,所以它的字符集为数字字符 0-9 。二五条码是一种非连续型、双向可读且具有自校验功能的非定长条码。
6 、交插二五条码
交插二五条码是由美国 intermec 公司与 1972 年发明,初期应用于仓储及重工业领域,标准化后用于储运单元的识别与管理。
图:交插二五条码
交插二五条码是一种条与空均表示信息的条码,在一个交插二五条码符号中仅有两种单元宽度,它的每一个条码数据符由 5 个单元组成,其中两个是宽单元(用二进制“ 1 ”表示),两个是窄单元(用二进制“ 0 ”表示)。在一个交插二五条码符号中,所有的宽单元相等,所有的窄单元相等,条(空)比一般控制在 2.00-3.00 之间。
交插二五条码是一种高密度条码,密度为 17.70 个 /(25.4mm). 在交插二五条码中一个印刷缺陷的存在并不致于产生替代错误,他是具有自校验功能的条码。因为从两个方向去识读条码符号都可以成功,所以它是双向刻度条码,由于它可表示不同个数字字符,所以是一种非定长条码。
7 、三九条码
三九条码是 1975 年 intermec 公司推出的一种条码,它能对数字和英文字母等 44 个字符进行编码。由于它具有误码率低、表示的字符个数多等优点,在汽车行业、经济管理、医疗卫生及邮政、储运单元等领域应用十分广泛。
图:三九条码
三九条码仅有两种单元宽度,它的每一个条码字符由 9 个单元组成,其中 3 个是宽单元,其余是窄单元。由于三九条码五条夹四空组合而成,它存在条码条码符号间隔,所以是非连续型条码。三九条码的设计具有较强的自校验功能,所以出现替代错误的概率很小。 它的高密度为 40 个 / ( 25.4mm )。
8 、库德巴条码
库德巴条码是 1972 年推出的,它广泛应用于医疗卫生及图书行业, 1977 年美国输血协会将库德巴条码规定为血袋标识标准条码。
图:库德巴条码
在一个库德巴条码符号中,每一个字符由 7 个单元构成,其中两个或三个是宽单元,其余是窄单元。库德巴选 C(7,2) 或组合,其编码容量为 C(7,2) + C (7,3) = 46 ,而它的字符集中仅有 20 个字符:数字 0-9 ,字母 A 、 B 、 C 、 D ,特殊字符 $ , - ,:, / , . , + 。库德巴条码具有双向可读性,在阅读库德巴条码符号时,扫描方向的判定是通过终止符和起始符来实现的。库德巴条码是一种具有强自校验功能的条码。
9 、九三条码
九三条码于 1982 年推出,是一种密度很高的条码符号。三九条码有许多优点,但其密度不是很高,这是由其编码方法决定的,所以有些应用三九条码的场合,出现了印刷面积不足问题,九三条码的设计正是为了解决这一问题。九三条码与三九条码向兼容,主要表现在他们具有相同的数据字符集。
图:九三条码
九三条码采用模块组配法编码,九三条码的每一个条码字符共有 9 个模块组成,包括三个条和三个空,每一个条或空有 1 、 2 、 3 或 4 个模块组成。九三条码编码容量为 56 ,其选用了 48 种组合。 它没有自校验功能,,为了确保数据安全性,采用了双校验字符,其性能比三九条码还要高。
苏州英来达电子科技有限公司