扫描火车上的二维码为什么得出的是一串数字?
发布网友
发布时间:2022-06-09 22:13
我来回答
共1个回答
热心网友
时间:2024-08-20 15:41
那是加密过的信息,说明如下
利用手机上内置的二维码识别软件(例如:诺基亚手机内置的“读码器”)或者在手机上安装第三方提供的二维码识别软件,例如:QuickMark。
在进入这些软件之后,会自动启动您手机的摄像头,对准二维码即可自动进行识别,无论是用电脑的摄像头,还是手机相机的微距模式或普通模式(有时用微距模式不一定很好识别)即可识别出二维码信息。
注意:以下内容适用于大部分铁路局发行的车票。但有个别铁路局发售的车票读出的二维码并不适用如下规则。
从火车票识别后得到一串很长很长的数字信息,例如:
270414331369769984588773015074980463607536633354045441486507179
943200000000000000000000053897628805389762880538976288053897628805389762881519000
这些数字有何含义呢?
1-2位:27
3-8位:041433
9-63位:1369769984588773015074980463607536633354045441486507179
(加密信息)
64-87位:9432000000000000000000000
88-137位:05389762880538976288053897628805389762880538976288
138-144位:1519000
除了9到63位之间是加密的信息外,其他都是可以读取的
● 第1-2位(2位):车票左下角最后一排数字的倒数第七位,这一位字符一般在车票上显示英文字母。(A=26,B=27,…),
● 第3-8位(6位):车票左下角最后一排数字的最后六位数字。一般也对应车票左上角的最后几位的红字。041433车票上的红字:B041433(票号)
● 第9-63位(55位,票号后到9432前这一段):加密后的数字,包含买票的时间,地点,窗口
● 第64-87位(24位,9432这段):预留位,用于存储身份证号。
● 第88-137位(50位):预留位,用于存储乘客姓名。默认未实行实名制的情况下,0538976288重复5次。其转换方式为:0538976288(十进制)→0×20202020(十六进制)→从右到左的换位置20202020→从ANSI中里面对应0×20
就是一个空格。因此0538976288这个数字就对应四个半角空格。如果没有实行实名制的车票会有五组这个数字,因此就可以包含20个空格。
当然如果存储了乘客的姓名,一般中国人的姓名多数是两个汉字或者三个汉字,也有少数人有四五个汉字。对于这段文字来说,已经够用。这段可以存储10个双字节字符或20个单字节字符。
例如:某人的姓名为“刘陈旭”
则这一段会显示为:05389762880538976288053897628841230745924056990387
其中最后两组数字发生了变化。【每一组数字可对应四个单字节字符或两个双字节字符(包括汉字)】
4123074592(十进制)→f5c12020(十六进制)→2020c1f5(从右到左换位),可以得出2020对应ANSI的两个半角空格,而C1F5对应ANSI的“刘”。
4056990387(十进制)→f1d0c2b3(十六进制)→b3c2d0f1(从右到左换位),可以得出b3c2对应ANSI的“陈”,而d0f1对应ANSI的“旭”。
● 第138-144位(7位):1519000,开车时间15:19分,由于没有精确到秒,一般最后三位都是000