diff --git a/src/utils/MRZutile.py b/src/utils/Passport_MRZutile.py similarity index 67% rename from src/utils/MRZutile.py rename to src/utils/Passport_MRZutile.py index 9bca114..f02bf1f 100644 --- a/src/utils/MRZutile.py +++ b/src/utils/Passport_MRZutile.py @@ -22,20 +22,29 @@ def decode(s: str) -> list[str]: return bytes(res).decode('gb2312') -chinese_name = "姚逸洁" +chinese_name = "王雅芳" encoded_chinese_name = encode(chinese_name) print(encoded_chinese_name) optional_data_length = 14 - len(encoded_chinese_name) for i in range(0, optional_data_length): encoded_chinese_name = encoded_chinese_name + "<" -first_name = "yijie" -last_name = "YAO" -passport_number = "E52758733" -birth_day = "841218" -sex = "F" +first_name = "yafang" +last_name = "WANG" +passport_number = "E09715300" +birth_day = "991215" +sex = "M" # optinal_data = "MFMLMANK<<< list[str]: + s = s.encode(encoding='gb2312').hex() + res = [] + for c in s: + res.append(chr(ord('a') + int(c, base=16))) + return "".join(res).upper() + + +def decode(s: str) -> list[str]: + t = [] + for c in s: + t.append(format((ord(c) - ord('A')), 'x')) + t = re.findall('.{1,2}', "".join(t)) + res = [] + for c in t: + res.append(int("0x" + c, 16)) + return bytes(res).decode('gb2312') + + +chinese_name = "黄慧逸" +# optional_data_length = 14 - len(encoded_chinese_name) +# for i in range(0, optional_data_length): +# encoded_chinese_name = encoded_chinese_name + "<" +first_name = "Huiyi" +last_name = "HUANG" +passport_number = "E82647589" +birth_day = "980120" +sex = "F" +# optinal_data = "MFMLMANK<<<