128条码

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CODE 128 国家标准

1. code 128码格式:

从左起:空白区域,起始字符,数据区域,校验码,结束字符,空白区域。

所有字符条纹图像都是以黑色开始,白色结束,只有结束字符例外。

2. 起始字符:

由于128码有三个字符集。所以有三个起始字符。

Start A : 表示后面的码值代码是从字符集A中值。全部大写字母和标点符号和特殊符号。

用六个黑白粗细不一表示为:{2,1,1,4,1,2}

Start B: 表示字符集B,全部大小写字符和标点符号。数据为:{2,1,1,2,1,4}

Start C: 表示字符集C,数字00-99. 数据为:{2,1,1,2,3,2}

3. 数据字符的表示

在128码中所有数据都是有1-4的六位数组表示,总共绘制成11条黑白条纹。

校验码算法:

校验码=(起始字符值+第一位数据值*1 +第二位数据值*2+ …. + 第n 位数据*n )%103;

4. 结束字符:

128码结束字符只有一个在编码表中以Stop 来表示,数据为:{2,3,3,1,1,1,2};

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++

图形方式输出Code128C条形码

最近的项目牵涉到一维条码打印的问题。条码的选型上倒没什么,因为要求短且仅包含数字,所以决定选用Code128C。在国外的网站上找了点资料研究了下,终于大致搞懂了Code128C 的原理和实现方法。

Code128C只能编码长度是偶数的数字串,这是它的前提之一。说起来编码规则很简单,00 - 99 这100个数字每个数字都预先规定好一个条码,然后把原始的待编码字符串两位两位的读取,每个两位都从上面提到的码表中找到对应的条码,追加。

举个例子,我们要打印12345678的Code128c条码。首先打印Code128c的条码头,bbsbssbbbss。(b代表1个单位宽度的竖线,s代表1个单位宽度的空白)

然后对12345678编码。我们把它看成12 34 56 78。12对应的条码是bsbbssbbbss,34对应的条码是bsssbsbbsss,56对应的条码是bbbsssbsbbs,78对应的条码是bbssssbsbss。按次序堆积起来就是了。

现在应该很好理解为什么C型128码可以打印的比较短,就是因为输出的信息被压缩到原来的一半。

接下来就是一个自校验码。计算方法是:(105 + (1 * 12 + 2 * 34 + 3 * 56 + 4 *78)) % 103 = 47。

再追加47对应的条码bsssbbbsbbs。

这里有个注意点是,第n组数字要乘以n。比如,12是第一组所以乘1,而34是第二组所以乘2。

最后就是终结符,固定为bbsssbbbsbsbb,也追加。

如此得出一个可以代表条形码的字符串:

bbsbssbbbss bsbbssbbbss bsssbsbbsss bbbsssbsbbs bbssssbsbss bsssbbbsbbs bbsssbbbsbsbb (实际上没空格)

也就是StartC 12 34 56 78 47 Stop (实际上没空格)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++

128码有A\B\C三种方式

A B C A B C

00 SP SP00 11011001100

01 ! ! 01 11001101100

02 " "02 11001100110

03 # # 03 10010011000

04 $ $ 04 10010001100

05 % % 05 10001001100

06 & & 06 10011001000

07 \' \' 07 10011000100

08 ( ( 08 10001100100

09 ) ) 09 11001001000

10 * * 10 11001000100

11 + + 11 11000100100

12 , , 12 10110011100

13 - - 13 10011011100

14 . . 14 10011001110

15 / / 15 10111001100

16 0 0 16 10011101100

17 1 1 17 10011100110

18 2 2 18 11001110010

19 3 3 19 11001011100

20 4 4 20 11001001110

21 5 5 21 11011100100

22 6 6 22 11001110100

23 7 7 23 11101101110

24 8 8 24 11101001100

26 : : 26 11100100110

27 ; ; 27 11101100100

28 < < 28 11100110100

29 = = 29 11100110010

30 > > 30 11011011000

31 ? ? 31 11011000110

32 @ @ 32 11000110110

33 A A33 10100011000

34 B B 34 10001011000

35 C C 35 10001000110

36 D D 36 10110001000

37 E E 37 10001101000

38 F F 38 10001100010

39 G G 39 11010001000

40 H H 40 11000101000

41 I I 41 11000100010

42 J J 42 10110111000

43 K K 43 10110001110

44 L L 44 10001101110

45 M M 45 10111011000

46 N N 46 10111000110

47 O O 47 10001110110

48 P P 48 11101110110

49 Q Q 49 11010001110

50 R R 50 11000101110

51 S S 51 11011101000

52 T T 52 11011100010

53 U U 53 11011101110

54 V V 54 11101011000

55 W W 55 11101000110

56 X X 56 11100010110

57 Y Y57 11101101000

58 Z Z 58 11101100010

59 [ [ 59 11100011010

60 \\ \\ 60 11101111010

61 ] ] 61 11001000010

62 ^ ^ 62 11110001010

63 _ _ 63 10100110000

64 NUL ` 64 10100001100

65 SOH a 65 10010110000

66 STX b 66 10010000110

67 ETX c 67 10000101100

68 EOT d 68 10000100110

相关文档
最新文档