UPC-A
1、概述
UPC-A 条码是美国较常用也较被广泛认可的条码类型。它主要用于零售行业,例如杂货店。UPC-A 由统一杂货产品代码委员会与 IBM 联合开发。
2、条码的组成
UPC-A 条码由 12 位组成。开头是个单数字系统字符,指示条码的分类方式:普通产品、加权项目、药物、优惠等。后面是个五位的制造商代码,接下来是个五位的产品代码,最后是个校验位。每位由不同宽度的两个条纹和两个空格的独有标识样式表示。除了数字之外,不能使用任何字母或其他特殊字符。条码格式如下:
区域划分:
左侧空白区 |
起始符 |
左侧数据符 |
中间分隔符 |
右侧数据符 |
校验符 |
终止符 |
右侧空白区 |
9个模块 |
3个模块 |
42个模块 |
5个模块 |
35个模块 |
7个模块 |
3个模块 |
9个模块 |
代码划分:
系统字符 |
厂商代码 |
产品代码 |
校验码 |
1位数字 |
5位数字 |
5位数字 |
1位数字 |
3、编码解析
-
左侧空白区
位于条码的最左侧,其最小宽度为9个条形模块宽度
-
系统字符
开头是个单数字系统字符,指示条码的分类方式:普通产品、加权项目、药物、优惠等。
-
起始符
位于左侧空白区的右侧,表示信息开始的特殊符号,由3个条形模块组成,逻辑为101(1代表细黑,0代表细白)。
-
左侧数据符
位于起始符号右侧与中间分隔符左侧的一组条码字符。表示6位数字信息,由42个条形模块组成,每个数字对应7个条形模块。左侧数据符使用A类编码。
-
中间分隔符
位于左侧数据符的右侧,是平分条码字符的特殊符号,由5个条形模块组成,逻辑方式为01010(1代表细黑,0代表细白)。
-
右侧数据符
位于中间分隔符右侧,校验符左侧的一组条码字符。表示5位数字信息的一组条码字符,由35个条形模块组成,每个数字对应7个条形模块。右侧数据符使用C类编码。
A、C类编码说明:
数字 |
A类编码 |
C类编码 |
0 |
0001101 |
1110010 |
1 |
0011001 |
1100110 |
2 |
0010011 |
1101100 |
3 |
0111101 |
1000010 |
4 |
0100011 |
1011100 |
5 |
0110001 |
1001110 |
6 |
0101111 |
1010000 |
7 |
0111011 |
1000100 |
8 |
0111011 |
1001000 |
9 |
0001011 |
1110100 |
-
校验符
位于右侧数据符的右侧,表示校验码的条码字符,由7个条形模块组成。
12位条码序号:
N1 |
N2 |
N3 |
N4 |
N5 |
N6 |
N7 |
N8 |
N9 |
N10 |
N11 |
C |
校验码计算规则: C1 = (N1 + N3 + N5 + N7 + N9 + N11)*3;
C2 = N2 + N4 + N6 + N8 + N10;
CC = (C1 + C2)%10;
C = (10 - CC)%10;
-
终止符
位于条码符号校验符的右侧,表示信息结束的特殊符号,由3个条形模块组成,逻辑方式为101(1代表细黑,0代表细白)。
-
右侧空白区
位于条码符号最右侧的与空的反射率相同的区域,其最小宽度为9个条形模块宽。
参考文件:https://download.csdn.net/download/qq_41382608/85907545