`
LifeFree
  • 浏览: 60270 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

火车票的条形码

阅读更多

 

  因为春运,热心的网友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位数字没在条形码中表示)如下所示:

   

<!-- [if !mso]> <style> v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} </style> <![endif]--><!-- [if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning/> <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:SpaceForUL/> <w:BalanceSingleByteDoubleByteWidth/> <w:DoNotLeaveBackslashAlone/> <w:ULTrailSpace/> <w:DoNotExpandShiftReturn/> <w:AdjustLineHeightInTable/> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:UseFELayout/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!-- [if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> <!-- [if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} </style> <![endif]--><!-- [if gte mso 9]><xml> <o:shapedefaults v:ext="edit" spidmax="1051"/> </xml><![endif]--><!-- [if gte mso 9]><xml> <o:shapelayout v:ext="edit"> <o:idmap v:ext="edit" data="1"/> </o:shapelayout></xml><![endif]--><!-- [if gte vml 1]><v:group id="_x0000_s1042" style="position:absolute; left:0;text-align:left;margin-left:109.75pt;margin-top:106.8pt;width:251.75pt; height:24.9pt;z-index:1" mce_style="position:absolute; left:0;text-align:left;margin-left:109.75pt;margin-top:106.8pt;width:251.75pt; height:24.9pt;z-index:1" coordorigin="2345,2361" coordsize="5035,498"> <v:line id="_x0000_s1043" style="position:absolute;flip:y; mso-position-horizontal:absolute;mso-position-vertical:absolute" mce_style="position:absolute;flip:y; mso-position-horizontal:absolute;mso-position-vertical:absolute" from="2345,2361" to="2345,2844" coordsize="21600,21600"/> <v:line id="_x0000_s1044" style="position:absolute;mso-position-horizontal:absolute; mso-position-vertical:absolute" mce_style="position:absolute;mso-position-horizontal:absolute; mso-position-vertical:absolute" from="2349,2361" to="7380,2361" coordsize="21600,21600"/> <v:line id="_x0000_s1045" style="position:absolute;flip:y; mso-position-horizontal:absolute;mso-position-vertical:absolute" mce_style="position:absolute;flip:y; mso-position-horizontal:absolute;mso-position-vertical:absolute" from="3170,2367" to="3170,2850" coordsize="21600,21600"/> <v:line id="_x0000_s1046" style="position:absolute;flip:y; mso-position-horizontal:absolute;mso-position-vertical:absolute" mce_style="position:absolute;flip:y; mso-position-horizontal:absolute;mso-position-vertical:absolute" from="3920,2361" to="3920,2844" coordsize="21600,21600"/> <v:line id="_x0000_s1047" style="position:absolute;flip:y; mso-position-horizontal:absolute;mso-position-vertical:absolute" mce_style="position:absolute;flip:y; mso-position-horizontal:absolute;mso-position-vertical:absolute" from="4730,2376" to="4730,2859" coordsize="21600,21600"/> <v:line id="_x0000_s1048" style="position:absolute;flip:y; mso-position-horizontal:absolute;mso-position-vertical:absolute" mce_style="position:absolute;flip:y; mso-position-horizontal:absolute;mso-position-vertical:absolute" from="5510,2376" to="5510,2859" coordsize="21600,21600"/> <v:line id="_x0000_s1049" style="position:absolute;flip:y; mso-position-horizontal:absolute;mso-position-vertical:absolute" mce_style="position:absolute;flip:y; mso-position-horizontal:absolute;mso-position-vertical:absolute" from="6315,2367" to="6315,2850" coordsize="21600,21600"/> <v:line id="_x0000_s1050" style="position:absolute;flip:y; mso-position-horizontal:absolute;mso-position-vertical:absolute" mce_style="position:absolute;flip:y; mso-position-horizontal:absolute;mso-position-vertical:absolute" from="7095,2367" to="7095,2850" coordsize="21600,21600"/> </v:group><![endif]--><!-- [if !vml]--> <!-- [endif]-->

 

 

<!-- [if gte vml 1]><v:line id="_x0000_s1029" style="position:absolute; left:0;text-align:left;flip:y;z-index:4;mso-position-horizontal:absolute; mso-position-vertical:absolute" mce_style="position:absolute; left:0;text-align:left;flip:y;z-index:4;mso-position-horizontal:absolute; mso-position-vertical:absolute" from="68.5pt,-.45pt" to="68.5pt,23.7pt" coordsize="21600,21600"/><![endif]--><!-- [if !vml]--><!-- [endif]--><!-- [if gte vml 1]><v:line id="_x0000_s1034" style='position:absolute;left:0;text-align:left;flip:y; z-index:9;mso-position-horizontal:absolute;mso-position-vertical:absolute' from="264.75pt,-.45pt" to="264.75pt,23.7pt" coordsize="21600,21600"/><![endif]--><!-- [if !vml]--> <!-- [endif]--><!-- [if gte vml 1]><v:line id="_x0000_s1033" style='position:absolute;left:0;text-align:left;flip:y; z-index:8;mso-position-horizontal:absolute;mso-position-vertical:absolute' from="225.75pt,-.45pt" to="225.75pt,23.7pt" coordsize="21600,21600"/><![endif]--><!-- [if !vml]--> <!-- [endif]--><!-- [if gte vml 1]><v:line id="_x0000_s1032" style='position:absolute;left:0;text-align:left;flip:y; z-index:7;mso-position-horizontal:absolute;mso-position-vertical:absolute' from="185.5pt,0" to="185.5pt,24.15pt" coordsize="21600,21600"/><![endif]--><!-- [if !vml]--> <!-- [endif]--><!-- [if gte vml 1]><v:line id="_x0000_s1031" style='position:absolute;left:0;text-align:left;flip:y; z-index:6;mso-position-horizontal:absolute;mso-position-vertical:absolute' from="146.5pt,0" to="146.5pt,24.15pt" coordsize="21600,21600"/><![endif]--><!-- [if !vml]--> <!-- [if gte vml 1]><v:line id="_x0000_s1028" style='position:absolute;left:0;text-align:left;flip:y; z-index:3;mso-position-horizontal:absolute;mso-position-vertical:absolute' from="27pt,0" to="27pt,9.8pt" coordsize="21600,21600"/><![endif]--><!-- [if !vml]--> <!-- [if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter"/> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0"/> <v:f eqn="sum @0 1 0"/> <v:f eqn="sum 0 0 @1"/> <v:f eqn="prod @2 1 2"/> <v:f eqn="prod @3 21600 pixelWidth"/> <v:f eqn="prod @3 21600 pixelHeight"/> <v:f eqn="sum @0 0 1"/> <v:f eqn="prod @6 1 2"/> <v:f eqn="prod @7 21600 pixelWidth"/> <v:f eqn="sum @8 21600 0"/> <v:f eqn="prod @7 21600 pixelHeight"/> <v:f eqn="sum @10 21600 0"/> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/> <o:lock v:ext="edit" aspectratio="t"/> </v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style="width:414.75pt; height:189.75pt" mce_style="width:414.75pt; height:189.75pt"> <v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image007.jpg" mce_src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image007.jpg" o:title="part"/> </v:shape><![endif]--><!-- [if !vml]--><!-- [endif]-->

序号

符号

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
  • 大小: 72 KB
  • 大小: 84.6 KB
  • 大小: 73.8 KB
分享到:
评论

相关推荐

    VC火车票条码扫描查询

    在IT行业中,火车票条码扫描查询是一种常见的应用,它涉及到图像处理、条形码识别、数据库查询等多个技术领域。本项目"VC火车票条码扫描查询"是使用Visual C++(VC)作为开发工具,结合条码扫描技术,实现对火车票上...

    初级认证实践火车票识别.zip

    例如,火车票的样式可能会有所不同,有的可能包含条形码或二维码,这时我们可以结合条码和二维码识别插件,以获取更多信息。另外,考虑到火车票识别可能应用于自动化购票、行程管理等场景,我们需要确保代码的健壮性...

    铁帮手火车票打印助手下载3.82 免费版

    速度超快,现在,买火车票的人越来越多,火车站的打印机一般都是用的条码打印机,他们的机器都是带切刀的 打印一张就切一下,价格非常昂贵,一般人买不起,而铁帮手火车票打印助手是一款非常小巧的打印软件,它具备...

    火车票的二维条码应用系统设计.pdf

    火车票上采用的是PDF417码,这是一种多行条码,每行由起始码、左标区、资料区、右标区和结束码组成。PDF417码的特点在于能够存储大量的信息且具有较好的容错能力。具体来说,火车票上的二维条码包含了以下几个方面的...

    二维码火车票应用方案.pdf

    二维码相较于传统的条形码(一维码),具有以下显著优势: 1. **信息容量大**:二维码能够存储大量的信息,包括图片、指纹、声音、签字、文字等多种类型的数据,极大地扩展了信息承载量。 2. **保密与防伪性能强*...

    行业资料-交通装置-一种基于二维条码的火车票管理系统及其使用方法.zip

    行业资料-交通装置-一种基于二维条码的火车票管理系统及其使用方法.zip

    二维条形码生成和验证源码

    在火车票上,二维条形码通常包含了乘客的个人信息、车次信息、座位号等,方便快速扫描验证。 在C#中生成二维条形码,可以使用第三方库,例如ZXing.NET,这是一个开源的、跨平台的条形码解码库,支持多种条形码格式...

    码上闪--条码比价购物搜索

    【标题】码上闪--条码比价购物...9、 二维码发票、火车票辨别真伪 10、 二维码快速上网、下载等功能。 11、 二维码名片识别功能 12、 二维码信息发布平台 13、 二维码宣传册 14、 二维码精准营销 15、 二维码证照防伪

    transferCard:虚拟火车票,使您可以通过Web或手机购买票。 克隆存储库是可选的

    您可以在工作站上扫描条形码以进入和退出。 功能性 登录后, 向我显示“票务”页面,在这里我可以选择购买火车票。 如果我点击添加到购物车, 我的钱包将会出现,并会要求退房。 当我点击结帐时, 我被带到条纹...

    “二维码”QRCode -新版火车票(wm+c#+源码)

    12月10日起,全国铁路系统火车票将实现从5.0版本到5.2版本的升级。新旧版本车票最大的区别,就是车票下方的一维防伪条码将变成二维防伪图案,防伪功能更强大。 二维码相关资料见:...

    智能传感器技术-条码识别.pptx

    在生活场景中,条码技术常见于购物收据、商品包装、会员卡、身份证件、火车票、电影票等。 总的来说,智能传感器技术通过高效、准确的条码识别,极大地推动了信息处理和自动化流程的发展,它已经渗透到我们生活的...

    物流实务1-2_物流的信息及标准化(汪洋).pptx

    二维条形码如QR码,其信息容量更大,不仅能存储文字,还可以包含图像和其他复杂数据,具有高速识读、全方位识读以及表示汉字等优势,广泛应用于工业自动化、身份证件、驾驶执照、火车票实名制等领域。 在物流行业中...

    二维码编码解码器源码20130905

    二维码也开始应用到很多场合,如火车票有二维码识别、网易的首页有二维码图标,用户只需要用手机扫描一下就可以看到手机版网易的网址,免去了输入长串字符的麻烦。 条形码的标准: 条形码的标准有ENA条形码、UPC条形...

    物联网标识技术概述.pptx

    例如,中国铁路系统升级后的火车票就采用了二维条形码以提高防伪能力。 3.1.2 磁卡技术 磁卡是一种存储字符和数字信息的磁性介质,常见于银行卡和交通卡等。磁卡上有磁条,包含多个磁道,用于存储用户信息。磁条...

    二维码编码解码器源码

    二维码也开始应用到很多场合,如火车票有二维码识别、网易的首页有二维码图标,用户只需要用手机扫描一下就可以看到手机版网易的网址,免去了输入长串字符的麻烦。 条形码的标准: 条形码的标准有ENA条形码、UPC...

    第2章RFID与物联网应用.pptx

    这种技术在火车票、身份证等领域的应用更为广泛。 2.3 磁卡与IC卡的应用 2.3.1 磁卡常用于银行卡和交通卡,其信息存储在磁条上,通过磁卡读写器读取。虽然成本低,但易受磁场干扰,信息安全性相对较弱。 2.3.2 IC卡...

    标识技术物联网技术基础教程PPT学习课件.pptx

    例如,中国的火车票升级就采用了二维条形码来提高防伪能力。 3. **磁卡技术**:磁卡是另一种常见的识别介质,通过磁性涂层存储字符和数字信息。磁条卡常用于银行卡、交通卡等,具有存储容量相对较大的特点,分为...

    基于BP神经网络二维码区域提取

    在复杂背景下的二维码区域定位一直是QR Code二维条码解码过程中的难题之一。...火车票通过图像预处理得到可能是二维码的区域块,提取经图像处理后的二维码区域块图像特征并结合BP神经网络过滤出正确的二维码区域。

Global site tag (gtag.js) - Google Analytics