use GB18030 encodage
This commit is contained in:
@@ -4,7 +4,7 @@ from mrz.generator.td3 import TD3CodeGenerator
|
||||
|
||||
|
||||
def encode(s: str) -> str:
|
||||
s = s.encode(encoding='gb2312').hex()
|
||||
s = s.encode(encoding='GB18030').hex()
|
||||
res = []
|
||||
for c in s:
|
||||
res.append(chr(ord('a') + int(c, base=16)))
|
||||
@@ -22,20 +22,14 @@ def decode(s: str) -> str:
|
||||
return bytes(res).decode('gb2312')
|
||||
|
||||
|
||||
chinese_name = "鲁思思"
|
||||
first_name = "sisi"
|
||||
last_name = "lu"
|
||||
passport_number = "E96619397"
|
||||
birth_day = "981215"
|
||||
chinese_name = "君若韵"
|
||||
first_name = "reyun"
|
||||
last_name = "jun"
|
||||
passport_number = "E33634603"
|
||||
birth_day = "991215"
|
||||
sex = "F"
|
||||
# sex = "M"
|
||||
expire_date = "290116"
|
||||
|
||||
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 + "<"
|
||||
expire_date = "270116"
|
||||
|
||||
# optinal_data = "MFMLMANK<<<<A9" #14位
|
||||
# nationality = "TWN"
|
||||
@@ -45,6 +39,11 @@ if nationality == "TWN":
|
||||
document_prefix = "P"
|
||||
|
||||
else:
|
||||
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 + "<"
|
||||
optinal_data = encoded_chinese_name # 14位
|
||||
document_prefix = "PO"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user