条码符号技术 ( 四 ) 陈浙泊
复习 特殊应用的 EAN13 码 店内码 20 - 24 开头 PLU( 价格查表 ),NPLU( 无价格查表 ) 价格校验码的计算 (2-,3,5+,5-) 标准书刊码 ISBN 与 EAN 码一致 标准期刊码 ISSN 977+ ISSN( 前 7)+ 年份 + 校验 附加码
Code 39 码 Code39 ems Code 93 码
39 码是国内常见的条形码之一,三九码 39 码是 Intermec 公司在公元 1975 年发展出来 的条形码系统。三九码之所以在国内常见 的原因有两个: 一个是因为三九码的限制很少,而且支持 字母与数字; 另一个则是它很适用在非正式场合中。 Code39, 三九码, code 3 of 9
目前较主要利用於工业产品、商业资料及 医院用的保健资料,它的最大优点是码数 没有强制的限定,可用大写英文字母码, 且检查码可忽略不计。我国也制定了相应 的 39 码国家标准( GB )。
编码特征 编码字符集: 44 个 10 个数字, 26 个大写字母, 8 个特殊字符 % + -. * / $ space 非连续型编码 [EAN 不同 ] 非定长型编码 [EAN 不同 ] 宽度调制式编码 [EAN 不同 ] 几乎特征完全相反的码制
外观特征 有大写字母有数字,且长度不一 不论空和条只有两种宽度 起始与终止为两个星号,其编码完全一样 (在下面的可视化内容中可能不显示) 比一般条码要 “ 胖 ” 一些
编码结构 对于标准 code 39 前后以 * 号为起始码与终止码 数据位为任意数字和字母。 校验位可选 不像 EAN-UCC 系统中 每个数字有特定的含 意 39 码中,是自由的 因此使用也很自由 空白区 起始符 (*) 数据符 终止符 (*) 空白区
校验位计算
1,给44个字符分配43个数值, * 号作 为特殊符号不参加分配。数值从0 ~ 42。 将参于编码的所有字符对应数值相加。 和除以43,等到余数。 余数反查前面的表,得到一个字符。即为 校验符。
举例: 123ABC 123ABC =39 39%43=39 对应字符为: $ 123ABC$ 不是必加 使用时规定即可。 43模校验字符 43模校验字符
编码规则表 1— 字母部分 字元宽度调制逻辑字元宽度调制逻辑 A N B O C P D Q E R F S G T H U I V J W K X L Y M Z
编码规则表 2— 数字及特殊字符部分 字元宽度调制逻辑字元宽度调制逻辑 + - * / % $ . 空格
编码规则总结: 每个符号由 9 个单元组成 其中 3 个 1 , 6 个为 0
39 码是宽度调制,复习一下: 宽度调制。 宽度调制仅以宽度作为 0 与 1 的判定标准,而 不是以条或者空作为 0 与 1 的判定标准。宽 条与宽空均为 1 ,而窄条与窄空均为 0 。 假如是模块组合 法 那么这组条码对 应 的二进制是多少?
而对于 39 码而言, 3 个 1 , 6 个 0 意味着: 有 9 个单位。其中 3 个为宽单位, 6 个为窄单 位。 以条起始,到条结束,条空间隔排列 宽条 2 个,宽空 1 个,窄条 3 个,窄空 3 个
比如字母 A ,其宽度调制逻辑为: 以条开始: 宽条 窄空窄条窄空 窄条宽空 窄条 窄空宽条
三九码的构成元素如下 : 起始码 + 数据码 + 终止码 起始码与终止码均为字符 * 间隔 间隔 间隔 非连续!
39码的一些数据 因为39码非定长型的。 字符个数未定,校验码也包含在内用变量 C 来代替。 宽单元与窄单元的比值也是可变的,用 N 来表示。一般为2 ~ 3 窄单元的宽度为最基本单位,用 X 来表示。 单元与单元之间的间隔为 I 来表示。 I ≥X 空白区的宽度用 Q 来表示。 Q≥ 10 X 那么总的条码宽度就是: 前后空白区2 Q 单个字符 3*N*X+6*X 全部字符 (C+2)*(3*N+6)*X 如果有全部间隔 (C+ 1 )*I 所以总长度为: (C+2)*(3*N+6)*X+(C+1)*I+2*Q(C+2)*(3*N+6)*X+(C+1)*I+2*Q
39码的特殊应用: fullascii 模式 用39码表示128个全部的 ascii 字符 使用特殊字符 %,.,+,-,$,*,/ 等对原字符进行 组合。使用组全字符来代表一个新的字符。 普通模式下读码机读取到下列的条形码时,会显示出: +U+V FULLASCII 模式下读码机读取到上述的条形码时,会显示出: uv 小写字母
Fullascii 模式组合表 ASCII 组合字 符 ASCII 组合字 符 ASCII 组合字符 ASCII 组合字符 NUL%USP ` SOH$A! /A AAa+A STX$B" /B BBb+B ETX$C# /C CCc+C EOT$D$ /D DDd+D ENQ$E% /E EEe+E ACK$F& /F FFf+F BEL$G' /G GGg+G BS$H( /H HHh+H HT$I) /I IIi+I LF$J* /J JJj+J VT$K+ /K KKk+K FF$L, /L LLl+L
CR$M-. MMm+M SO$N. /0 NNn+N SI$O/ 0 OOo+O DLE$P0 0 PPp+P DC1$Q1 1 QQq+Q DC2$R2 2 RRr+R DC3$S3 3 SSs+S DC4$T4 4 TTt+T NAK$U5 5 UUu+U SYN$V6 6 VVv+V ETB$W7 7 WWw+W CAN$X8 8 XXx+X EM$Y9 9 YYy+Y SUB$Z: /Z ZZz+Z
ESC%A;%F[%K{%Q FS%B<%G\%L|%R GS%C=%H]%M}%S RS%D>%I^%N~ %T 跟 %X US%E?%J_%ODEL %Y 跟 %Z
39 码的实际应用 :code39EMS
code39EMS 相对于标准39码, EMS 专用39码在编 码结构上有更详细的规定。 由 13 位字符组成,从左至右分别是: 第 1 位:是字母 E ,代表 EMS 邮件; 第 2 位:是字母 A-Z 中的一个,为组号; 第 3-11 位:是数字(共 9 位),为顺序号; 第 位:是字母 CN ,为国际通用的国家代码。 定长 不含校验位
例题: 1:计算 CODE 39 的43模校验符。 数据字符 CODE 空格 39 字符值122413143839 字符值总和 113 除以43113 % 43=27 余数对应的字符 R 增加校验符的数 据字符 CODE 空格 39R
2:假如一个标准39码,字符数有7个, 窄条宽度 0.2mm ,宽窄比为3,字符间隔为 最小间隔,空白区为最小宽度。求整个条码 长度。 字符数7,加2, 总字符数9. 每个字符长 (3*0.2*3+6*0.2)=3mm 总共 27mm 间隔为 7+1=8 个间隔, 最小间隔为1个窄条: 8*0.2=1.6mm 空白区最小为10个窄条: 2*10*0.2=4mm 总长: 32.6mm
3: 字符 CODE 39 写出宽度调制的逻辑值,然 后使用 111,000 代表宽条宽空1,0 代表窄条 窄空,将上述逻辑值转化为条码图形。 数据 CODE 空格 39 逻辑值 举例 C : 转化为 101001000 条空条空条空条空条
Code 93 码 Code 93 码的条码符号是由 Intermec 公司于 1982 年设计的。可以 提供更高的编码密度 和数据安全,属于增强型的 code 39 码。 Intermec
编码特征 字符集与 code39 基本一致:26个大写字 母,10个数字,8个特殊字符。另外增 加了4个控制字符。一共48个字符。 连续编码 模块组合式调制 不定长编码 密度比39码要高,可以替代39码
外观特征 有起始符与终止符,终止符仅在起始符后 增加一窄条。 条与空均有4种不同宽度 每个字符由9个模块组成,分为3条3空 故称之为93码
编码结构 对于标准 code 93 有起始码与终止码 数据位为任意数字和字母。 校验符
双校验码的计算 A *2+1*1=21 21%47=21 对应字符 L L 10*3+1*2+21*1=53 53%47=6 对应字符 6 6 A1L6
编码规则 数值字符二进制表示数值字符二进制表示 O P Q R S T U V W X A Y B Z C
13 D E SPACE F $ G / H I % J ($) K (%) L (/) M (+) N (*) 起始
条码结构 起始符 终止符 数据符查表,校验位位于最后,只画不写。 即 L6 是隐藏的
93码的一些数据 若字符位为 C 则字符模块数为 (C+2)*9+1 空白区为 Q 则总长度为 (c+2)*9+1+2*Q 连续编码, 没有间隔
练习: 算一算学号后3位的47模双位校验码。