当扫描仪读取护照时,我通过扫描仪读取护照信息,数据显示如下
#PGRPMUSAAAA<<BBB<CCCC<<<<<<<<<<<<<<<<<<<<<<<<<\nM987654321USA7303010M20071519876543V12345678\n我想知道全名,姓,名字,国家代码,PASSPORTNUM,性别,出生
我提取了名称和其他数据,在代码中这样表示它。
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 = "";我应该如何编码来提取我想要得到的数据?
发布于 2022-10-27 08:34:11
MRZ的第二行( \n和\n之间)不仅包含密码号,还包含所需的所有信息(例如,请参见https://en.wikipedia.org/wiki/Machine-readable_passport )。从固定位置提取字符串的部分:
var line2 = OcrArraySplit[3].Replace("\n","");
d.PasspornNum = line2.Substring(0, 9);
d.Nationality = line2.Substring(10, 3);等
https://stackoverflow.com/questions/74218954
复制相似问题