火车票的条形码

阅读更多

 

  因为春运,热心的网友wangbigbird发表了有名的北京地区2009年春运火车票购买指南

 

  文中详细的介绍了火车票真假识别的一些办法,前几天在水木上发现一篇文章 北京假票一张,大家注意!

 

   

   ICollection 从条形码的角度说明了这是一张假票:

 

发信人: ICollection (集合), 信区: TrafficInfo
标  题: Re: 北京假票一张,大家注意!
发信站: 水木社区 (Sun Jan 18 13:48:37 2009), 站内

这票明显是票骗子自己PS画出来的,
条码下面的数字中票号后面,里程前面的那34位数字多了1位。
而且这段条码与数字也不相符,第一个竖线就错了,应该是粗线的。

 

按照条码算法,这段条码应该是这样的,那张假票完全是瞎画。
【 在 ICollection (集合) 的大作中提到: 】
: 这票明显是票骗子自己PS画出来的,
: 条码下面的数字中票号后面,里程前面的那34位数字多了1位。
: 而且这段条码与数字也不相符,第一个竖线就错了,应该是粗线的。
: ...................

   

 

发信人: ICollection (集合), 信区: TrafficInfo
标  题: Re: 北京假票一张,大家注意!
发信站: 水木社区 (Sun Jan 18 14:01:48 2009), 站内

START_B
1位字母
CODE_C
6位数字
34位数字
4位数字
STOP
【 在 dudux (dudux) 的大作中提到: 】
: 什么叫128B+128C?
: 是说有字母的那段用128B其它用128C吗?

 

    刚好,一直想了解一下条形码的知识就查阅了一些资料。各种条形码分类就不说了。

    火车票的CODE128条形码规范,网上已经有了很好的文档:All About Code 128 Barcode

 

    简单的说Code 128的条形码的组成为:

 

    QUIET ZONE + START + DATA + CHECK CHAR + STOP + QUIET ZONE

   

    Code 128 条形码的每一个数据字符由 11个黑白单位(modules)构成(STOP比较特殊由13个单位构成),3个条和3个间隔组成这11个单位,每个条或间隔的宽度为1-4。

 

    Code 128 有 A B C 三组代码集,A-编码包含标准键盘字母、数字及控制符和特殊符号;B-编码包含所有标准键盘字母、数字及小写字母和控制符;C-编码0-99的数字和控制符。

    一组条形码可通过CODE 和 SHIFT指定后续条形码的代码集。

 

   火车票的R079252字符(前14位数字没在条形码中表示)如下所示:

   

 

 

序号

符号

Pattern

B S B S B S

1

START (Code B)

2 1 1 2 1 4

2

R

2 3 1 1 3 1

3

CODE C

1 1 3 1 4 1

4

07

1 2 2 3 1 2

5

92

1 1 1 1 4 3

6

52

2 1 3 3 1 1

 

 

  • 大小: 57.1 KB
  • 火车票的条形码_第1张图片
  • 大小: 72 KB
  • 火车票的条形码_第2张图片
  • 大小: 84.6 KB
  • 火车票的条形码_第3张图片
  • 大小: 73.8 KB
  • 查看图片附件

你可能感兴趣的:(C,C++,C#,算法,SUN)