default_ascii = {
"h": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 8, "desc": "Message Header"},
"t": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 4, "desc": "Message Type"},
"p": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 16, "desc": "Bitmap, Primary"},
"1": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 16, "desc": "Bitmap, Secondary"},
"2": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 2, "max_len": 19, "desc": "Primary Account Number (PAN)"},
"3": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 7, "desc": "Processing Code"},
"4": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 12, "desc": "Amount, Transaction"},
"5": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 12, "desc": "Amount, Settlement"},
"6": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 12, "desc": "Amount, Cardholder Billing"},
"7": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 10, "desc": "Transmission Date and Time"},
"8": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 8, "desc": "Amount, Cardholder Billing Fee"},
"9": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 8, "desc": "Conversion Rate, Settlement"},
"10": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 8, "desc": "Conversion Rate, Cardholder Billing"},
"11": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 6, "desc": "System Trace Audit Number"},
"12": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 6, "desc": "Time, Local Transaction"},
"13": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 4, "desc": "Date, Local Transaction"},
"14": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 4, "desc": "Date, Expiration"},
"15": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 4, "desc": "Date, Settlement"},
"16": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 4, "desc": "Date, Conversion"},
"17": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 4, "desc": "Date, Capture"},
"18": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 4, "desc": "Merchant Type or Standard Industrial Classification (SIC) or Merchant Category Code (MCC)"},
"19": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 3, "desc": "Acquiring Institution Country Code"},
"20": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 3, "desc": "PAN Country Code"},
"21": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 3, "desc": "Forwarding Institution Country Code"},
"22": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 3, "desc": "Point-of-Service Entry Mode"},
"23": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 3, "desc": "PAN Sequence Number / MBR"},
"24": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 3, "desc": "Network International ID (NII)"},
"25": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 3, "desc": "Point-of-Service Condition Code"},
"26": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 4, "desc": "Message Reason Code"},
"27": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 1, "desc": "Authorizing ID Response Length"},
"28": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 9, "desc": "Amount, Transaction Fee"},
"29": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 9, "desc": "Amount, Settlement Fee"},
"30": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 9, "desc": "Amount, Transaction Processing Fee"},
"31": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 9, "desc": "Amount, Settlement Processing Fee"},
"32": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 2, "max_len": 11, "desc": "Acquiring Institution ID Code"},
"33": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 2, "max_len": 11, "desc": "Forwarding Institution ID Code"},
"34": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 2, "max_len": 28, "desc": "Primary Account Number, Extended"},
"35": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 2, "max_len": 37, "desc": "Track 2 Data"},
"36": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 3, "max_len": 104, "desc": "Track 3 Data"},
"37": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 12, "desc": "Retrieval Reference Number"},
"38": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 6, "desc": "Authorization ID Response"},
"39": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 5, "desc": "Response Code"},
"40": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 3, "desc": "Service Restriction Code"},
"41": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 2, "max_len": 16, "desc": "Card Acceptor Terminal ID"},
"42": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 15, "desc": "Card Acceptor ID Code"},
"43": {"len_count": "nibbles", "data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 222, "desc": "Card Acceptor Name/Location"}, # getting error here
"44": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 2, "max_len": 25, "desc": "Additional Response Data"},
"45": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 2, "max_len": 76, "desc": "Track 1 Data"},
"46": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 3, "max_len": 999, "desc": "Additional Data - ISO"},
"47": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 3, "max_len": 999, "desc": "Additional Data - National"},
"48": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 31, "desc": "Additional Data - Private/Reference to Other Transaction"},
"49": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 3, "desc": "Currency Code, Transaction"},
"50": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 3, "desc": "Currency Code, Settlement"},
"51": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 3, "desc": "Currency Code, Cardholder Billing"},
"52": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 16, "desc": "PIN"},
"53": {"data_enc": "ascii", "len_enc": "b", "len_type": 0, "max_len": 48, "desc": "Security-Related Control Information"},
"54": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 12, "desc": "Adjustment Amounts"},
"55": {"data_enc": "ascii", "len_enc": "b", "len_type": 3, "max_len": 255, "desc": "ICC data"},
"56": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 3, "max_len": 999, "desc": "Reserved ISO"},
"57": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 3, "max_len": 999, "desc": "Reserved National"},
"58": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 3, "max_len": 999, "desc": "Reserved National"},
"59": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 3, "max_len": 999, "desc": "Reserved National"},
"60": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 3, "max_len": 999, "desc": "Reserved National"},
"61": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 14, "desc": "Card Issuer Data"},
"62": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 3, "max_len": 999, "desc": "External Transaction Attributes"},
"63": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 16, "desc": "New Pin"},
"64": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 16, "desc": "MAC"},
"65": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 16, "desc": "Bitmap, Extended"},
"66": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 1, "desc": "Settlement Code"},
"67": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 2, "desc": "Extended Payment Code"},
"68": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 3, "desc": "Receiving Institution Country Code"},
"69": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 3, "desc": "Settlement Institution Country Code"},
"70": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 3, "desc": "Network Management Information Code"},
"71": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 4, "desc": "Message Number"},
"72": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 4, "desc": "Message Number, Last"},
"73": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 6, "desc": "Date, Action"},
"74": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 10, "desc": "Credits, Number"},
"75": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 10, "desc": "Credits, Reversal Number"},
"76": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 10, "desc": "Debits, Number"},
"77": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 10, "desc": "Debits, Reversal Number"},
"78": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 10, "desc": "Transfer, Number"},
"79": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 10, "desc": "Transfer, Reversal Number"},
"80": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 10, "desc": "Inquiries, Number"},
"81": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 10, "desc": "Authorizations, Number"},
"82": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 12, "desc": "Credits, Processing Fee Amount"},
"83": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 12, "desc": "Credits, Transaction Fee Amount"},
"84": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 12, "desc": "Debits, Processing Fee Amount"},
"85": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 12, "desc": "Debits, Transaction Fee Amount"},
"86": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 16, "desc": "Credits, Amount"},
"87": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 16, "desc": "Credits, Reversal Amount"},
"88": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 16, "desc": "Debits, Amount"},
"89": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 16, "desc": "Debits, Reversal Amount"},
"90": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 42, "desc": "Original Data Elements"},
"91": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 1, "desc": "File Update Code"},
"92": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 2, "desc": "File Security Code"},
"93": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 5, "desc": "Response Indicator"},
"94": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 7, "desc": "Service Indicator"},
"95": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 24, "desc": "Replacement Amounts"},
"96": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 16, "desc": "Message Security Code"},
"97": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 17, "desc": "Amount, Net Settlement"},
"98": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 25, "desc": "Payee"},
"99": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 2, "max_len": 11, "desc": "Settlement Institution ID Code"},
"100": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 2, "max_len": 11, "desc": "Receiving Institution ID Code"},
"101": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 2, "max_len": 17, "desc": "File Name"},
"102": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 2, "max_len": 30, "desc": "Account ID 1 (FROM)"},
"103": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 2, "max_len": 30, "desc": "Account ID (T0)"},
"104": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 4, "desc": "Host Net Identification"},
"105": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 25, "desc": "Account Balance Data"},
"106": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 46, "desc": "Multi Currency Data"},
"107": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 12, "desc": "Final RRN"},
"108": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 3, "max_len": 999, "desc": "Regional Listing Data/String Message"},
"109": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 3, "max_len": 999, "desc": "Multi Account Data"},
"110": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 1, "max_len": 9, "desc": "Numeric Message"},
"111": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 2, "max_len": 99, "desc": "Account Identification 2"},
"112": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 3, "max_len": 999, "desc": "Reserved for National Use"},
"113": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 3, "max_len": 999, "desc": "Reserved for National Use"},
"114": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 3, "max_len": 250, "desc": "Mini-Statement Data"},
"115": {"data_enc": "ascii", "len_enc": "b", "len_type": 2, "max_len": 99999, "desc": "Statement Data"},
"116": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 3, "max_len": 99999, "desc": "Billing Data"}, # Need to verify if it is ok
"117": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 3, "max_len": 999, "desc": "Reserved for National Use"},
"118": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 3, "max_len": 999, "desc": "Reserved for National Use"},
"119": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 3, "max_len": 999, "desc": "Reserved for National Use"},
"120": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 3, "max_len": 999, "desc": "Reserved for Private Use"},
"121": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 47, "desc": "Additional POS Data"},
"122": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 48, "desc": "3D-Secure Data"},
"123": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 3, "max_len": 999, "desc": "Miscellaneous Transaction Attributes"},
"124": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 2, "max_len": 99999, "desc": "Miscellaneous Transaction Attributes 2"},
"125": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 2, "max_len": 99999, "desc": "Administrative Transaction Data"},
"126": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 34, "desc": "Preauthorization Parameters"},
"127": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 3, "max_len": 99999, "desc": "Additional Information"},
"128": {"data_enc": "ascii", "len_enc": "ascii", "len_type": 0, "max_len": 16, "desc": "MAC"}
}
I am getting this for primary bitmap which should be a HEX 16: b'B238641108A08000' . The HEX of the primary bitmap is 17 characters which should be 16 characters as per my spec. Could anyone please let me know, where is the issue?