' U/ U/ {% \& b3.打印与测试 . d# `$ v% A; _0 O5 K, b6 y) C0 x/ m" E
4.扩展应用$ k; p" C1 `- V. F! j3 _- I
7 R5 I) \4 E5 k8 X" I
5.关于本例的一些思考6 O) I* n# L; U) q2 Y- ~( w
1 q& \3 o$ B/ A: Y% Z. ^& n: ~- p
6.免责声明与使用注意事项 . i" L9 _$ [- b) {7 d2 o1 E6 m) b9 i" L6 b) I/ a& Y E
7.参考文献' }% U- f2 `- X
, T1 g q! j7 l3 W# M$ {
8.附录, F* ~: V% ?6 Y6 X+ k
' I( ]9 O/ }! O7 _ 0 Z; R7 [: f2 o3 ~* Q l6 x4 a# h! ~, Q" j8 n# T) t3 @) a
* D( X9 i3 N5 ], H* c1 W
条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条(简称条)和白条(简称空)排成的平行线图案。有关条形码的更多资料参见文[1]。 4 M; ~+ F0 y& F/ I& f1 a J; E) {& o6 P: k0 e
在日常生活中,我们不可避免地要接触大量的条形码,其中最常见的就是图书证了。而某些同学的图书证经常丢失。此外,某些同学的图书证由于缺乏保护,会频繁出现录入不灵敏现象。于是在谴责图书证的印刷质量之余,动手DIY一张图书证,自己进行质量控制,则可以使其更加灵敏地识别,大大减少进入图书馆的时间,大大缩短借书时刷卡的时间,提高学习和工作效率。图书证中携带关键信息的就是条形码,于是DIY的重点也是如何得到对应的条形码。/ S2 w! X, t3 I8 ~% |
: ^$ X8 _2 F+ Z4 K. `" R1.某校图书证编码规则 3 y1 D8 v: Y* Q- l& u; O/ Z2 O8 s) ^/ R; g% i
由于所使用的编码方式不同,在了解常用编码规则(参见Internet)的基础上,必须通过对特定图书证的观察才可得出其特殊的编码规则。本文通过,对一种常见的图书证的观察,得出其编码规则如下:+ v( G* K$ n/ `! U b% h
5 q0 x, v5 M, k$ c/ a
①该条形码部分由两种不同宽度的黑白条组成,是一种类code39编码方式;我们假设宽条代表1,窄条代表0;并假设在最后多一个白色宽条,以便使黑白条码的个数相等,方便程序处理。, f8 S6 L, n, a# v, F
3 E; E+ ^6 \# ^②图书证的白色条码都是一样的,分为以下三部分: 1 t6 M" f# G! @1 X+ ?- h ' W+ T4 ]8 \; z' ^2 ~1)起始部分:10001;2)数据部分:13个01001;3)终止部分:10001,与起始码一致。8 ?, }9 i \) E+ p5 @. E
4 v# i3 |8 A0 z- S* g; u
③图书证的黑色条码是携带学号信息的关键,分为以下三部分: " N0 {- x; k# `( ~( Y" j$ m5 {* M 3 u7 \; T" M T& r% R) ~1)起始部分:00110;( w( Q/ ?* ?( V; d& Y
; h1 t- U- O& S- a2)中间部分:13个数字(即学号12位+图书证序号),每个数字对应的代码如表一所示; r2 d2 P c. l& e8 p2 r4 S& u* q7 i9 s4 t# @1 U
表一 某校图书证号每个数字对应的代码 D2 h+ o- i {+ D5 k' m$ O' a