0:code128,编码格式:
Code128A字符集 包括大写字母、数字、常用标点符号和一些控制符。
Code128B字符集 包括大小写字母、数字、常用标点符号。
Code128C字符集 为纯数字序列。
Code128Auto 是将上述三种字符集最佳优化组合。
1:Code128编码规则:开始位 + [FNC1(为EAN128码时加)] + 数据位 + 检验位 + 结束位
2:条形码如何读取:
请看下面的图:
从左往右是黑白相间的条形码,黑的叫“条”(B),白的叫“空”(S)。
如果你仔细看,条和空都有4种不同的宽度。我们将它从细到粗赋予1、2、3、4这几个值。
然后我们开始按照粗细的值来阅读条码、结果如下:
211232231131221213131222212222221224121213121211321132331112
注意这个结果是黑白相间的。别只顾着读“条”忘了都空。这边总共有61位。
Code128码有一个头一个尾。
尾总是2331112,这代表Code128已经结束。其余的部分是6位为一个块,包括头。
头有3种:A)211412 B)211214 C)211232 。这分别表示此Code128是什么类型的。(ABC其中一种)
我们将我们读出来的码,去掉头和尾,重新分一次块:
231131 | 221213 | 131222 | 212222 | 221224 | 121213 | 121211 | 32113
正好是6位为一块。其中最后一个块(除去尾段)是校验位,用于检查该条形码是否被正确编码。
然后,我们有一个字符表。(应该说是我有这张表)这张字符对应各个编号是表示的什么。
我们这个是Code128C型。C型码是纯数字的,每个块对应2位数字。
查表可得 50 09 05 00 01 91 91 。
有了这些知识,我们就可以尝试去写一个程序去生成条形码和识别条形码。
其实生成是比较简单的,而识别就比较麻烦了。通常超市是使用条码枪,通过光学原理来条码识别的,因为黑白条纹的反光特性不一样。
要是用软件对图像进行识别,会有些麻烦。但是,这正是我们要做的。
3:生成条码:
可以通过js来生成条码,这里面可以制定是A,B,C 哪一种 http://blog.csdn.net/rodulf/article/details/51276889
也可以通过在线生成:http://www.qinms.com/webapp/barcode/index.aspx
4:两种生成条码的方法是使用的不同的算法的:
例如:
通过js 来生成的:
通过js生成的:
Code128编码表:
ID |
Code128A |
Code128B |
Code128C |
BandCode |
编码值 |
0 |
SP |
SP |
0 |
212222 |
bbsbbssbbss |
1 |
! |
! |
1 |
222122 |
bbssbbsbbss |
2 |
" |
" |
2 |
222221 |
bbssbbssbbs |
3 |
# |
# |
3 |
121223 |
bssbssbbsss |
4 |
$ |
$ |
4 |
121322 |
bssbsssbbss |
5 |
% |
% |
5 |
131222 |
bsssbssbbss |
6 |
& |
& |
6 |
122213 |
bssbbssbsss |
7 |
' |
' |
7 |
122312 |
bssbbsssbss |
8 |
( |
( |
8 |
132212 |
bsssbbssbss |
9 |
) |
) |
9 |
221213 |
bbssbssbsss |
10 |
* |
* |
10 |
221312 |
bbssbsssbss |
11 |
+ |
+ |
11 |
231212 |
bbsssbssbss |
12 |
, |
, |
12 |
112232 |
bsbbssbbbss |
13 |
- |
- |
13 |
122132 |
bssbbsbbbss |
14 |
. |
. |
14 |
122231 |
bssbbssbbbs |
15 |
/ |
/ |
15 |
113222 |
bsbbbssbbss |
16 |
0 |
0 |
16 |
123122 |
bssbbbsbbss |
17 |
1 |
1 |
17 |
123221 |
bssbbbssbbs |
18 |
2 |
2 |
18 |
223211 |
bbssbbbssbs |
19 |
3 |
3 |
19 |
221132 |
bbssbsbbbss |
20 |
4 |
4 |
20 |
221231 |
bbssbssbbbs |
21 |
5 |
5 |
21 |
213212 |
bbsbbbssbss |
22 |
6 |
6 |
22 |
223112 |
bbssbbbsbss |
23 |
7 |
7 |
23 |
312131 |
bbbsbbsbbbs |
24 |
8 |
8 |
24 |
311222 |
bbbsbssbbss |
25 |
9 |
9 |
25 |
321122 |
bbbssbsbbss |
26 |
: |
: |
26 |
321221 |
bbbssbssbbs |
27 |
; |
; |
27 |
312212 |
bbbsbbssbss |
28 |
< |
< |
28 |
322112 |
bbbssbbsbss |
29 |
= |
= |
29 |
322211 |
bbbssbbssbs |
30 |
> |
> |
30 |
212123 |
bbsbbsbbsss |
31 |
? |
? |
31 |
212321 |
bbsbbsssbbs |
32 |
@ |
@ |
32 |
232121 |
bbsssbbsbbs |
33 |
A |
A |
33 |
111323 |
bsbsssbbsss |
34 |
B |
B |
34 |
131123 |
bsssbsbbsss |
35 |
C |
C |
35 |
131321 |
bsssbsssbbs |
36 |
D |
D |
36 |
112313 |
bsbbsssbsss |
37 |
E |
E |
37 |
132113 |
bsssbbsbsss |
38 |
F |
F |
38 |
132311 |
bsssbbsssbs |
39 |
G |
G |
39 |
211313 |
bbsbsssbsss |
40 |
H |
H |
40 |
231113 |
bbsssbsbsss |
41 |
I |
I |
41 |
231311 |
bbsssbsssbs |
42 |
J |
J |
42 |
112133 |
bsbbsbbbsss |
43 |
K |
K |
43 |
112331 |
bsbbsssbbbs |
44 |
L |
L |
44 |
132131 |
bsssbbsbbbs |
45 |
M |
M |
45 |
113123 |
bsbbbsbbsss |
46 |
N |
N |
46 |
113321 |
bsbbbsssbbs |
47 |
O |
O |
47 |
133121 |
bsssbbbsbbs |
48 |
P |
P |
48 |
313121 |
bbbsbbbsbbs |
49 |
Q |
Q |
49 |
211331 |
bbsbsssbbbs |
50 |
R |
R |
50 |
231131 |
bbsssbsbbbs |
51 |
S |
S |
51 |
213113 |
bbsbbbsbsss |
52 |
T |
T |
52 |
213311 |
bbsbbbsssbs |
53 |
U |
U |
53 |
213131 |
bbsbbbsbbbs |
54 |
V |
V |
54 |
311123 |
bbbsbsbbsss |
55 |
W |
W |
55 |
311321 |
bbbsbsssbbs |
56 |
X |
X |
56 |
331121 |
bbbsssbsbbs |
57 |
Y |
Y |
57 |
312113 |
bbbsbbsbsss |
58 |
Z |
Z |
58 |
312311 |
bbbsbbsssbs |
59 |
[ |
[ |
59 |
332111 |
bbbsssbbsbs |
60 |
\ |
\ |
60 |
314111 |
bbbsbbbbsbs |
61 |
] |
] |
61 |
221411 |
bbssbssssbs |
62 |
^ |
^ |
62 |
431111 |
bbbbsssbsbs |
63 |
_ |
_ |
63 |
111224 |
bsbssbbssss |
64 |
NUL |
` |
64 |
111422 |
bsbssssbbss |
65 |
SOH |
a |
65 |
121124 |
bssbsbbssss |
66 |
STX |
b |
66 |
121421 |
bssbssssbbs |
67 |
ETX |
c |
67 |
141122 |
bssssbsbbss |
68 |
EOT |
d |
68 |
141221 |
bssssbssbbs |
69 |
ENQ |
e |
69 |
112214 |
bsbbssbssss |
70 |
ACK |
f |
70 |
112412 |
bsbbssssbss |
71 |
BEL |
g |
71 |
122114 |
bssbbsbssss |
72 |
BS |
h |
72 |
122411 |
bssbbssssbs |
73 |
HT |
i |
73 |
142112 |
bssssbbsbss |
74 |
LF |
j |
74 |
142211 |
bssssbbssbs |
75 |
VT |
k |
75 |
241211 |
bbssssbssbs |
76 |
FF |
I |
76 |
221114 |
bbssbsbssss |
77 |
CR |
m |
77 |
413111 |
bbbbsbbbsbs |
78 |
SO |
n |
78 |
241112 |
bbssssbsbss |
79 |
SI |
o |
79 |
134111 |
bsssbbbbsbs |
80 |
DLE |
p |
80 |
111242 |
bsbssbbbbss |
81 |
DC1 |
q |
81 |
121142 |
bssbsbbbbss |
82 |
DC2 |
r |
82 |
121241 |
bssbssbbbbs |
83 |
DC3 |
s |
83 |
114212 |
bsbbbbssbss |
84 |
DC4 |
t |
84 |
124112 |
bssbbbbsbss |
85 |
NAK |
u |
85 |
124211 |
bssbbbbssbs |
86 |
SYN |
v |
86 |
411212 |
bbbbsbssbss |
87 |
ETB |
w |
87 |
421112 |
bbbbssbsbss |
88 |
CAN |
x |
88 |
421211 |
bbbbssbssbs |
89 |
EM |
y |
89 |
212141 |
bbsbbsbbbbs |
90 |
SUB |
z |
90 |
214121 |
bbsbbbbsbbs |
91 |
ESC |
{ |
91 |
412121 |
bbbbsbbsbbs |
92 |
FS |
| |
92 |
111143 |
bsbsbbbbsss |
93 |
GS |
} |
93 |
111341 |
bsbsssbbbbs |
94 |
RS |
~ |
94 |
131141 |
bsssbsbbbbs |
95 |
US |
DEL |
95 |
114113 |
bsbbbbsbsss |
96 |
FNC3 |
FNC3 |
96 |
114311 |
bsbbbbsssbs |
97 |
FNC2 |
FNC2 |
97 |
411113 |
bbbbsbsbsss |
98 |
SHIFT |
SHIFT |
98 |
411311 |
bbbbsbsssbs |
99 |
CODEC |
CODEC |
99 |
113141 |
bsbbbsbbbbs |
100 |
CODEB |
FNC4 |
CODEB |
114131 |
bsbbbbsbbbs |
101 |
FNC4 |
CODEA |
CODEA |
311141 |
bbbsbsbbbbs |
102 |
FNC1 |
FNC1 |
FNC1 |
411131 |
bbbbsbsbbbs |
103 |
StartA |
StartA |
StartA |
211412 |
bbsbssssbss |
104 |
StartB |
StartB |
StartB |
211214 |
bbsbssbssss |
105 |
StartC |
StartC |
StartC |
211232 |
bbsbssbbbss |
106 |
Stop |
Stop |
Stop |
2331112 |
bbsssbbbsbsbb |