EAN、UPC条码的校验位计算规则。
EAN、UPC使用的是Mod 10 校验位计算法,具体如下
示范数据:01234567890 UPC-A条码
1.将从左第一位开始奇数位相加。
0 + 2 + 4 + 6 + 8 + 0 = 20
0 + 2 + 4 + 6 + 8 + 0 = 20
2.将步骤1的结果乘以3。
20 X 3 = 60
20 X 3 = 60
3.将从左向右的偶数位相加。
1 + 3 + 5 +7 + 9 = 25
1 + 3 + 5 +7 + 9 = 25
4.将步骤2与步骤3的结果相加。
60 +25 = 85
60 +25 = 85
5.将步骤4的个位数取补,结果就是校验位,
10 - 5 = 5
如果步骤4的个位数为0,则校验位为0
如果步骤4的个位数为0,则校验位为0
实际条码为 012345678905
交叉25码校验位的计算规则。
交叉25码的校验位计算方法依然是 Mod 10 :
1.字符个数为偶数时为:10的倍数-[(奇数位的数字之和<从左至右)+(偶数位数字之和)*3个位数]
2.字符个数为奇数时为:10的倍数-[(偶数位的数字之和<从左至右)+(奇数位数字之和)*3个位数]
如:
514362的校验位为10*X-[(5+4+6)+3*(1+3+2)]=7(因加校验位后个数为奇数,故前面加0后为05143627。
76534的校验位为10*X-[(6+3)+3*(7+5+4)]=3
39码校验位的计算规则。
39码用的是Mod 43 校验计算法。
每个39码的字符有一个指定的值,如下表所示。
0=0 | 1=1 | 2=2 | 3=3 | 4=4 | 5=5 | 6=6 | 7=7 | 8=8 | 9=9 | A=10 |
B=11 | C=12 | D=13 | E=14 | F=15 | G=16 | H=17 | I=18 | J=19 | K=20 | L=21 |
M=22 | N=23 | O=24 | P=25 | Q=26 | R=27 | S=28 | T=29 | U=30 | V=31 | W=32 |
X=33 | Y=34 | Z=35 | -=36 | . = 37 | sp=38 | $=39 | /=40 | +=41 | %=42 | |
示范字符串为 :12345ABCDE/
1.字符串长度规则将所有的字符转换为相应的数值并相加。
1 +2 + 3 + 4 + 5 + 10 + 11 + 12 + 13 +14 + 40 = 115
1 +2 + 3 + 4 + 5 + 10 + 11 + 12 + 13 +14 + 40 = 115
2.将步骤1的结果除以43,取其余数。
115 / 43 = 2 余 29
115 / 43 = 2 余 29
3.校验位是步骤2余数对应的字符。
余数 = 29.
29 所对应的字符是 T.
T 校验位.
余数 = 29.
29 所对应的字符是 T.
T 校验位.
128码校验位的计算规则。
ISBN的编码规则。
EAN 的前三位必须是978,示范数据:9787801243881 (这是EAN码)
第一位 | 第二位 | 第三位 | 第四位 | 第五位 | 第六位 | 第七位 | 第八位 | 第九位 |
7 | 8 | 0 | 1 | 2 | 4 | 3 | 8 | 8 |
10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 |
70 | 72 | 0 | 7 | 12 | 20 | 12 | 24 | 16 |
1.按此公式计算: 7 X 10 + 8 X 9 + 0 X 8 + 1 X 7 + 2 X 6 + 4 X 5 + 3 X 4 + 8 X 3 + 8 X 2 = 233
2.233 除以 11 余 2
3.将步骤2的结果取11的补数
11 - 2 = 9
校验位为9
步骤2余数为0时,校验位为 0,余数为1时,补数为10,用符号 X代替。
11 - 2 = 9
校验位为9
步骤2余数为0时,校验位为 0,余数为1时,补数为10,用符号 X代替。
4.书号为 :7801243889
ISSN的编码规则。
EAN 的前三位必须是977,示范数据:97771002489001 (这是EAN码)
第一位 | 第二位 | 第三位 | 第四位 | 第五位 | 第六位 | 第七位 |
1 | 0 | 0 | 2 | 4 | 8 | 9 |
8 | 7 | 6 | 5 | 4 | 3 | 2 |
8 | 0 | 0 | 10 | 16 | 24 | 18 |
1.按此公式计算: 1 X 8 + 0 X 7 + 0 X 6 + 2 X 5 + 4 X 4 + 8 X 3 + 9 X 2 = 76
2.将步骤2除以11,取其余数
76 除以 11 余 10
76 除以 11 余 10
3.将步骤2的结果取11的补数
11 - 10 = 1
校验位为1
步骤2余数为0时,校验位为 0,补数为10,校验位为 X代替。
11 - 10 = 1
校验位为1
步骤2余数为0时,校验位为 0,补数为10,校验位为 X代替。
4.期刊号为 :10024891
AIM的规范。
AIM识别符含有三个字符 ]cm
] = 标志字符(十进制ASCII码:93)
c = 代码字符(见表1)
m = 修饰符(见表3)
表1:代码表
代码字符 | 条码类型 |
A | 39码 |
C | 128码 |
E | UPC/EAN |
F | Codabar |
G | 93码 |
H | 11码 |
I | 交叉25码 |
L | PDF417 |
M | MSI Plessey |
S | D25码 IATA25码 |
X | Trioptic 39码 |
X | 书号 |
X | Coupon码 |
表2
条码类型 | 选项值 | 选项 |
39码 | 0 | 没有校验位或正在处理全ASCII。 |
1 | 有一位校验位 | |
3 | 有一位校验位,但阅读器已去除该校验位 | |
4 | 阅读器已处理完全ASCII的转换 | |
5 | 阅读器已处理完全ASCII的转换,有一位校验位 | |
7 | 阅读器已处理完全ASCII的转换,有一位校验位,已去除 | |
例如:全ASCII字符串,校验位为W,A+I+MI+DW,传输的值为:]A7AimId | ||
Troptic 39码 | 0 | 永远为0 |
示例:Troptic条码内容为:412356,传输的字符串为:]X0412356 | ||
128码 | 0 | 标准数据包,FNC1符不在第一位 |
1 | FNC1为第一位 | |
2 | FNC1为第二位 | |
示例:一个(EAN)128码,FNC1为第一位,FNC1AimID 传输字符串为:]C1AimID | ||
交叉25码 | 0 | 没有校验位 |
1 | 阅读器检测到一位校验位 | |
3 | 检测到校验位,但校验位未传送 | |
示例:4123,字符串不含校验位,传输字符串为:]I04123 | ||
Codabar | 0 | 没有校验位 |
1 | 阅读器检测到一位校验位 | |
3 | 检测到校验位,但校验位未传送 | |
示例:4123,字符串不含校验位,传输字符串为:]F04123 | ||
93码 | 0 | 永远为0 |
示例:93码内容为:4123,传输字符串为:]G04123 | ||
MSI Plessey | 0 | 检测到一位校验位 |
1 | 检测到两位校验位 | |
2 | 检测到一位校验位,但未传送 | |
3 | 检测到两位校验位,但未传送 | |
示例:MSI Plessey条码内容为:4123,有一位校验位,传送字符串为:]M04123 | ||
D25 | 0 | 永远为0 |
示例:条码内容为:4123,传送字符串为:]S04123 | ||
UPC/EAN | 0 | 标准EAN地区码格式,13位UPC-A和UPC-E |
1 | 2位附加码 | |
2 | 5位附加码 | |
4 | EAN-8数据包 | |
示例:UPC-A条码为012345678905,传输字符串为:]E00012345678905 | ||
书号 | 0 | 永远为0 |
示例:一个EAN书号为1123456789X,传送字符串为: ]X0123456789X | ||
为什么要使用串口条码扫描仪?
串口扫描器其实和键盘扫描器,它的优点和缺点者是一个:外接电源。
外接电源在外观上有点难看,而且须加多一个电源接口,但正因为这样,它不使用计算机的电源,电压有保证。有些扫描仪对电压的要求比较高,键盘口接上扫描仪这个负载后,电压就低了下来,不能正常使用。而且串口可以接各种主机设备:PC、收款机、终端等,键盘口扫描仪在应用范围方面就不如它了。下面来作个比较,其实,您应该根据自已的需要选择串口或键盘口。
比较内容 | 串口 | 键盘口 | USB口 |
电源 | 外接,如有机内供电也可改装,如POS机PC机也可从PS/2处取电(专家级才可这么做) | 键盘口取电,无须外接电源 | USB口,无须外接 |
长度 | 按RS232标准200英尺(60米),实际还可更长一些 | 1.5至5米 | USB规范,1.5到3米 |
应用范围 | PC、POS、工控机、终端、数据终端 | PC、部分POS机、部分终端、 | PC、Mac |
驱动程序 | Scanpard、WinCom2key、com2key | 无须 | 须Windows支持,Windows内置 |
输入速度 | 快 | 慢 | 未与其他两种一起测试过 |
最新的EAN国家及地区编码
00-13: 美国和加拿大 | 20-29: 库存自定义 | 30-37: 法国 |
40-44: 德国 | 45: 日本 (49也是) | 46: 俄罗斯联盟 |
471: 台湾 | 474: 爱沙尼亚 | 475: 拉脱维亚 |
477: 立陶宛 | 479: 斯里兰卡 | 480: 菲律宾共和国 |
482: 乌克兰 | 484: 摩尔多瓦 | 485: 亚美尼亚 |
486: 乔治亚苏维埃社会主义共和国 | 487: 哈萨克 | 489: 香港 |
49: 日本(JAN-13) | 50: 英国 | 520: 希腊 |
528: 黎巴嫩 | 529: 塞浦路斯 | 531: 马其顿王国 |
535: 马尔他 | 539: 爱尔兰 | 54: 比利时与卢森堡 |
560: 葡萄牙 | 569: 冰岛 | 57: 丹麦 |
590: 波兰 | 594: 罗马尼亚 | 599: 匈牙利 |
600 & 601: 南非 | 609: 毛里求斯 | 611: 摩洛哥 |
613: Algeria | 619: 突尼斯 | 622: 埃及 |
625: Jordan | 626: 伊朗 | 64: 芬兰 |
690-692: 中国 | 70: 挪威 | 729: 以列 |
73:瑞典 | 740: 危地马拉 | 741: 萨尔瓦多 |
742: 洪都拉斯 | 743: 尼加拉瓜 | 744: 哥斯达黎加 |
746: 多米尼加共和国 | 750: 墨西哥 | 759: 委内瑞拉 |
76: 瑞士 | 770: 哥伦比亚 | 773: 乌拉圭 |
775: 秘鲁 | 777: 玻利维亚 | 779: 阿根廷 |
780: 智利 | 784: 巴拉圭 | 785: 秘鲁 |
786: 厄瓜多尔 | 789: 巴西 | 80 - 83: 意大利 |
84: 西班牙 | 850: 古巴 | 858: 斯洛伐克 |
859: 捷克共和国 | 860: 南斯拉夫 | 869: 土耳其 |
87: 荷兰 | 880: 南朝鲜 | 885: 泰国 |
888: 新加坡 | 890: 印度 | 893: 越南 |
899: 印度尼西亚 | 90-91: 奥地利 | 93: 澳大利亚 |
94:新西兰 | 955: 马来西亚 | 977: 国际标准期刊号 (ISSN) |
978: 国际标准书书号(ISBN) | 979: 国际标准音乐号 (ISMN) | 980: Refund receipts |
981 & 982: Common Currency Coupons | 99: Coupons | |
对UPC-E的一点心得
UPC-E是UPC-A的精简版,它将UPC-A的多个0缩短,编码规则:
1.如果厂商编号的最后三位是000,100,200,则UPC-E码由厂商编码的前两位、产品编码的最后三位、和厂商编号的第三位组成。产品代码必须是00000到00999。
2.如果厂商编号的最后两位是00,而又不在规则1中,则UPC-E码由厂商编码的前三位、产品编码的最后两位、和字符“3”组成。产品代码必须是00000到00099。
3.如果厂商编号的最后一位是0,并且不在规则1和2中,则UPC-E码由厂商编码的前四位、产品编码的最后一位、和字符“4”组成。产品代码必须是00000到00009。
4.如果厂商编号的最后一位不为0,则UPC-E码由厂商编码、产品编码的最后一位组成。产品代码必须是00005到00009(只能5到9了,0到4都用来作表示用途了)。
UPC-E使用的校验位则是原始的UPC-A的校验位。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论