什么是Code 39条码?Code 39码的编码规则是怎样的?
什么是Code 39条码?
Code 39码(也称Code 3 of 9)是Intermec公司(2013年被Honeywell收购)于1974年发明的条码码制,是一种可供使用者双向扫描的分散式条码,也就是说相临两资料码之间,必须包含一个不具任何意义的空白(或细白,其逻辑值为0),且其具有支援文数字的能力,故应用较一般一维条码广泛,目前较主要利用于工业产品、商业资料及医院用的保健资料,它的最大优点是码数没有强制的限定,可用大写英文字母码,且校验码可忽略不计。
标准的Code 39码是由起始安全空间、起始码、资料码、可忽略不计的检验码、终止安全空间及终止码所构成,以Z135+这个字符串为例,其所编成的Code 39码如图所示:
图1 39码的结构
Code 39码的特性
综合来说,Code 39码具有以下特性:
条码的长度没有限制,可随着需求作弹性调整。但在规划长度的大小时,应考虑条码阅读机所能允许的范围,避免扫描时无法读取完整的资料。
起始码和终止码必须固定为“ * ”字符。允许条码扫描器进行双向的扫描处理。由于39码具有自我检验能力,故校验码可有可无,不一定要设定。条码占用的空间较大。
可表示的资料包含有:0~9的数字,A~Z的英文字母,以及“+”、“-”、“*”、“/”、“%”、“$”、“.”等特殊符号,再加上空白字符“ ”,共计44组编码,并可组合出128个ASCII CODE的字符,如表所示。
表1 ASCII CODE字符与Code 39码对照表
Code 39码编码方式
Code 39码的每一个条码编码,都由九个单元(黑条或空白条)组成,其中有三个宽单元,其余是窄单元,因此称为39码。
Code 39码仅有两种单元宽度——分别为宽单元和窄单元。宽单元的宽度为窄单元的2到3倍,一般多选用2倍、2.5倍或3倍。
表2 Code 39码的字符编码方式
(一)英文字母部分
26个英文字母所对应的Code 39码逻辑值如表所示。
表3 Code 39码编码对应表(英文字母部分)
(二)数字与特殊符号部分
Code 39码也可表示数字0~9以及特殊符号,其对应的逻辑值如表所示。
表4 Code 39码编码对应表(数字与特殊符号部分)
Code 39码校验码的计算
Code 39码的校验码必须搭配「校验码相对值对照表」,如表5所示,将查出的相对值累加后再除以43,得到的余数再查出相对的编码字符,即为校验码字符。
例如要算出 *S123$5* 这个字符串的校验码,其计算过程如下:
(1)参考校验码相对值对照表,找出编码字符相对值
参考下表,得到各编码字符的相对值为:
S 的相对值为28; 1 的相对值为1;
2 的相对值为 2; 3 的相对值为3;
$ 的相对值为39 ; 5 的相对值为5。
(2)将各相对值累加除以43
累加相对值=28+1+2+3+39+5=78
78 ÷ 43=1….35
(3)查出与余数相对的编码字符
余数=35,
查下表,得到相对值=35 之编码字符为 Z,
故 校验码=Z,得
含校验码在内的39码,为:*S123$5Z*
表5 Code 39码的校验码查询表