条形码之三九码(上)
(附两三种制作方法)
一、39码简介
39码是1974年发展出来的条码,是一种可供使用者双向扫描的分散式条码,也就是说两个资料码之间,必须包含一个不具任何意义的空白(或细白,其逻辑值为0),但其具有支援文字的能力,帮应用较一般条码广泛。三九码仅有两种单元宽度,分别为宽单元和窄单元。宽单元的宽度为窄单元的1到3倍,一般多选用2倍、2.5倍或3倍。三九码的每一个条码字符由九个单元组成,其中有三个宽单元,其余是窄单元,因此称为三九码。目前主要应用于工业产品、商业资料及医院的保健资料,它的最大优点是条码的长度没有强制的限定,可用大写英文字母码,且检查码可忽略不计。39码还有编码规则简单、误码率低、所能表示字符个数多等特点,因此在各个领域有着极为广泛的应用。我国也制定了相应的国家标准(GB/T 12908-91)。
二、39码的特性
标准的39码是由起始安全空间、起始码、资料码、可忽略不计的检查码、终止安全空间及终止码所构成,其所编成的39码如图所示。
39码是1974年发展出来的条码,是一种可供使用者双向扫描的分散式条码,也就是说两个资料码之间,必须包含一个不具任何意义的空白(或细白,其逻辑值为0),但其具有支援文字的能力,帮应用较一般条码广泛。三九码仅有两种单元宽度,分别为宽单元和窄单元。宽单元的宽度为窄单元的1到3倍,一般多选用2倍、2.5倍或3倍。三九码的每一个条码字符由九个单元组成,其中有三个宽单元,其余是窄单元,因此称为三九码。目前主要应用于工业产品、商业资料及医院的保健资料,它的最大优点是条码的长度没有强制的限定,可用大写英文字母码,且检查码可忽略不计。39码还有编码规则简单、误码率低、所能表示字符个数多等特点,因此在各个领域有着极为广泛的应用。我国也制定了相应的国家标准(GB/T 12908-91)。
二、39码的特性
标准的39码是由起始安全空间、起始码、资料码、可忽略不计的检查码、终止安全空间及终止码所构成,其所编成的39码如图所示。
综合来说,39码有以下特性:
o 条码的长度没有限制,可随着需求作弹性调整。但在规划长度的大小时,应考虑条码扫描器能允许的范围,避免条码扫描器无法读取完整的资料。
o 起始码和终止码必须固定为“*”字元。
o 允许条码扫描器进行双向的扫描处理。
o 由于39码具有自我检查能力,故检查码可有可无。
o 条码占用空间比较大。
o 可表示的资料包含有0-9的数字,A-Z的英文字母,以及“+”、“-”、“*”、“/”、“%”、“$”、“.”等特殊字符,再加上空白字元“ ”,共计44组编码,并可
组合出128个ASCII CODE的字元符号,如表所示。
表:ASCII DODE 字元符号与39码对照表
ASCII | CODE39 | ASCII | CODE39 | ASCII | CODE39 | ASCII | CODE39 |
NUL | %U | SP | Space | @ | %V | 、 | %W |
SOH | $A | ! | /A | A | A | a | +A |
STX | $B | 口 | /B | B | B | b | +B |
ETX | $C | getsavefilename# | /C | C | C | C | +C |
EOT | $D | $ | /D | D | D | B | +D |
ENQ | $E | % | /E | E | E | E | +E |
ACK | $F | & | /F | F | F | F | +F |
BEL | $G | , | /G | G | G | G | +G |
BS | $H | ( | /H | H | H | H | +H |
HT | $I | ) | /I | I | I | I | +I |
LF | $J | * | /J | IJ | J | J | +J |
VT | $K | + | /K | K | K | k | +K |
FF | $L | , | /L | L | L | l | +L |
CR | $M | - | . | M | M | M | +M |
SO | $N | . | /0 | N | N | N | +N |
SI | $O | / | 0 | O | O | O | +O |
DLE | $P | 0 | 0 | P | P | P | +P |
DC1 | $Q | 1 | 1 | Q | Q | Q | +Q |
Dc2 | $R | 2 | 2 | R | R | R | +R |
Dc3 | $S | 3 | 3 | S | S | S | +S |
DC4 | $T | 4 | 4 | T | T | T | +T |
NAK | $U | 5 | 5 | U | U | U | +U |
SYN | $V | 6 | 6 | V | V | V | +V |
ETB | $W | 7 | 7 | W | W | W | +W |
CAN | $X | 8 | 8 | X | X | X | +X |
EM | $Y | 9 | 9 | Y | Y | Y | +Y |
SUB | $Z | : | /Z | Z | Z | Z | +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 | - | %0 | DEL | %Y,%Z |
三、39码编码方式
39码的每一个字元编码方式都是籍由九条不同排列的线条编码而得。可区分以下四种类型,如表所示。
39码的每一个字元编码方式都是籍由九条不同排列的线条编码而得。可区分以下四种类型,如表所示。
表:39码字元编码方式
类别 | 线条形态 | 逻辑形态 | 线条数目 |
粗黑线 | 11 | 2 | |
细黑线 | 1 | 1 | |
粗白线 | 00 | 2 | |
细白线 | 0 | 1 | |
英文字母部分
26个英文字母所对应的39码如表所示。
表:39码编码对应表(英文字母部分)
字元 | 逻辑形态 | 字元 | 逻辑形态 |
A | 110101001011 | N | 101011010011 |
B | 101101001011 | O | 110101101001 |
C | 110110100101 | P | 101101101001 |
D | 101011001011 | Q | 101010110011 |
E | 110101100101 | R | 110101011001 |
F | 101101100101 | S | 101101011001 |
G | 101010011011 | T | 101011011001 |
H | 110101001101 | U | 110010101011 |
I | 101101001101 | V | 100110101011 |
J | 101011001101 | W | 110011010101 |
K | 110101010011 | X | 100101101011 |
L | 101101010011 | Y | 110010110101 |
M | 110110101001 | Z | 100110110101 |
数字与特殊符号部分
39码也可以表示数字0-9以及特殊符号,其对应的逻辑值如表所示。
表:39码编码对应表(英文字母部分)
字元 | 逻辑形态 | 字元 | 逻辑形态 |
0 | 101001101101 | + | 100101001001 |
1 | 110100101011 | 100101011011 | |
2 | 101100101011 | * | 100101101101 |
3 | 110110010101 | / | 100100101001 |
4 | 101001101011 | % | 101001001001 |
5 | 110100110101 | $ | 100100100101 |
6 | 101100110101 | . | 110010101101 |
7 | 101001011011 | 空白 | 100110101101 |
8 | 110100101101 | ||
9 | 101100101101 | ||
四、检查码的计算
39码中的检查码部分,并不是必要的部分,可依实际需要,决定加入与否,但在一般的情况下通常多半是予以省略不印,以减少编码的长度与扫描的时间。39码的检查码计算必须先利用表(检查码相对值对照表)将编码字元的相对值查出,将查出的相对值累加后再除以43,得到的余数在查出相对的编码字元,即为检查码字元。
例如,要算出*S123$5*这笔资料的检查码,其计算过程如下:
39码中的检查码部分,并不是必要的部分,可依实际需要,决定加入与否,但在一般的情况下通常多半是予以省略不印,以减少编码的长度与扫描的时间。39码的检查码计算必须先利用表(检查码相对值对照表)将编码字元的相对值查出,将查出的相对值累加后再除以43,得到的余数在查出相对的编码字元,即为检查码字元。
例如,要算出*S123$5*这笔资料的检查码,其计算过程如下:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论