首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#从护照mrz数据中提取所需数据

C#从护照mrz数据中提取所需数据
EN

Stack Overflow用户
提问于 2022-10-27 08:24:55
回答 1查看 38关注 0票数 0

当扫描仪读取护照时,我通过扫描仪读取护照信息,数据显示如下

代码语言:javascript
复制
#PGRPMUSAAAA<<BBB<CCCC<<<<<<<<<<<<<<<<<<<<<<<<<\nM987654321USA7303010M20071519876543V12345678\n

我想知道全名,姓,名字,国家代码,PASSPORTNUM,性别,出生

我提取了名称和其他数据,在代码中这样表示它。

代码语言:javascript
复制
var MrzArraySplit =  mrz.Substring(0).Split(new[] { "<" }, StringSplitOptions.RemoveEmptyEntries);

 Data.FullName = OcrArraySplit[0] + OcrArraySplit[1] + OcrArraySplit[2]; //AAABBBCCCC
 Data.LastName = OcrArraySplit[0];     // AAA
 Data.FirstName1 = OcrArraySplit[1];      // BBB
 Data.FirstName2 = OcrArraySplit[2];      // CCCC
 Data.PassportNum = OcrArraySplit[3].Replace("\n",""); // \nM987654321USA7303010M20071519876543V12345678\n
 Data.Birth = "";
 Data.Sex = "";
 Data.NationCode = "";

我应该如何编码来提取我想要得到的数据?

EN

回答 1

Stack Overflow用户

发布于 2022-10-27 08:34:11

MRZ的第二行( \n和\n之间)不仅包含密码号,还包含所需的所有信息(例如,请参见https://en.wikipedia.org/wiki/Machine-readable_passport )。从固定位置提取字符串的部分:

代码语言:javascript
复制
var line2 = OcrArraySplit[3].Replace("\n","");
d.PasspornNum = line2.Substring(0, 9);
d.Nationality = line2.Substring(10, 3);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74218954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档