UPC-A码

用于通用商品,是适用范围最广的一种UPC码。一共有113个模组,每个模组长0.33毫米。左右两个各由9个模组组成的空白。UPC-A码是定长码,只能表示12位数字。从左至右,依次是3个模组(101)的起始码、1位的系统码、5位的左侧数据码、5个模组(01010)的中间码、5位的右侧数据码、检查码、3个模组(101)的终止码。其中,起始码、中间码、终止码的模组长度都要长于数据码。

对应法则:左侧数据码与右侧数据码的数值对应规则并不相同,左侧数据码含有奇数个模组,右侧数据码含有偶数个。黑色模组对应逻辑值为1,白色则为0。


[table=98%]
[tr][td][/td][td]左侧资料码[/td][td]右侧资料码[/td][/tr]
[tr][td]数值[/td][td]逻辑值[/td][td]逻辑值[/td][/tr]
[tr][td]0[/td][td]0001101[/td][td]1110010[/td][/tr]
[tr][td]1[/td][td]0011001[/td][td]1100110[/td][/tr]
[tr][td]2[/td][td]0010011[/td][td]1101100[/td][/tr]
[tr][td]3[/td][td]0111101[/td][td]1000010[/td][/tr]
[tr][td]4[/td][td]0100011[/td][td]1011100[/td][/tr]
[tr][td]5[/td][td]0110001[/td][td]1001110[/td][/tr]
[tr][td]6[/td][td]0101111[/td][td]1010000[/td][/tr]
[tr][td]7[/td][td]0111011[/td][td]1000100[/td][/tr]
[tr][td]8[/td][td]0110111[/td][td]1001000[/td][/tr]
[tr][td]9[/td][td]0001011[/td][td]1110100[/td][/tr]
[/table]

可以看出,左侧数据码是右侧数据码的反码。 以上图中的数字4为例:首先确定它是右侧数据码,然后读取出它的逻辑值:1011100。转换成条与空则是:细黑(1)、细白(0)、粗黑(111)、粗白(00)。[/font][/color][/align][list]
[*]检查码:检查码为全部12位数据码最后一位。如果从左至右依次将数据码前十一位命名为N1-N11,检查码命名为C。则检查码C的计算方式如下:

CC =(N1+N3+N5+N7+N9+N11)* 3 +(N2+N4+N6+N8+N10)然后取个位。 C=10-CC(若C值为10,则取0)。 以图中条码为例,cc=(0+6+0+2+1+5)*3+(3+0+0+9+4)=58 c=2