中国护照上两行88个字符的含义
2015-12-25 22:20
295 查看
打开护照,可以发现正面的下方有两列长长的数字和字符,每一列包含44个字符,两行,共88个字符。
这两行字符几乎包含了该张护照所有的信息,下***体分析这两行数字和字符的含义:
例如一本护照下方的两行字符为:
POCHNLE<<YILI<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
G222222224CHN8510105M180101952525252<<<<<<85
(这两列为本人虚构的,仅作讲解使用)
第一行
1)P:代表Passport,即护照,共1位
2)O:被护照颁发国用于区别不同种类的护照,如果未使用则为<,共1位
3)CHN:代表中国,共3位
4)LE<<YILI<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<:代表护照持有人的姓名,中文则为拼音,姓后面
加<<,然后为“名”的拼音,空下来的用<填充,直至填充满44个字符
第二行:
5)G22222222:表示护照号,即右上角的那个护照号,共9位
6)4:校验码C,具体算法见文末,共1位
7)CHN:中国代码,共3位
8)851010:出生年月日,格式为YYMMDD,共6位
9)5:校验码C,具体算法见文末,共1位
10)M:表示男性,F表示女性,共1位
11)180101:护照的过期日期,格式为YYMMDD,共6位
12)9:检验码C,具体算法见文末,共1位
13)52525252<<<<<<:共14位,个人号码,由护照颁发国各自决定其作用,不足位用<替代
14)8:校验码C,具体算法见文末,共1位
15)5:校验码X,具体算法见文末,共1位
校验码C的计算方法:
< A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
以6)处的校验码为例:
G22222222
G 2 2 2 2 2 2 2 2
7 3 1 7 3 1 7 3 1
112 6 2 14 6 2 14 6 2
其中第一行为位于校验码前面的一串字符,这里为G22222222,即护照号
第二行为731731731.....依次排列的数列
第三行为每列的第一行乘以第二行所得到的数值,如果第一行中有字母则按照上面的表格转换为数字然后相
乘
第四步将第三行每个数字相加,此处得到的值为:164
第五步:用所得到的值除以10,得到的余数即为校验码C
9)处的校验码计算方法同上,只不过这里用于计算的数列为14~19位的数值,即出生日期
8 5 1 0 1 0
7 3 1 7 3 1
56 15 1 0 3 0
第三行得到的值之和为75,除以10后余数为5,所以此处的校验码为5
12)和14)处的校验码计算方法同上,所用于计算校验码的数列分别为护照过期日期和个人号码
校验码X的计算方法为:
第一行数字为依次为1~10、14~20、22~43三处的数列组成
第二行数字依然为731731731.....有序排列的数列
第三行依然为每一列第一行乘以第二行所得到的乘积
然后将三次计算所得到的结果相加,再除以10,得到的余数即为X
这里计算得到的余数为5。。
到这里就全部分析完了,各位有护照的可以拿出来算算,我的算过了就是这样的。
乐意黎, aerchi
本文地址: http://blog.csdn.net/aerchi/article/details/50405497
相关文章推荐
- 在服务器上排除问题的头五分钟
- html头部
- 远离故障的十大原则
- 25个Java机器学习工具&库
- 天宝trimble原始文件转RINEX
- struts2
- Apktool反编译工具的使用
- userInteractionEnabled
- Reachability(判断网络是否连接)
- iOS中GCD的基本使用
- 单元测试报错java.lang.ClassNotFoundException: java.pakc.SimpleTest
- CSS reset
- 美国地质调研局USGS
- 《算法竞赛入门经典2ndEdition 》例题5-3 安迪的第一个字典(Andy's First Dictionary, Uva10815)
- 基于ActiveMQ的消息中间件系统逻辑与物理架构设计详解
- 43节从文本文件中读入数据!
- TCP中异常关闭链接的意义 异常关闭的情况
- 第八次作业
- (转).net 开发人员如何自处
- Linux Shell 脚本基础