磁道(Track1,Track2,Track3)上允許使用的數(shù)字和字符
發(fā)表時間:2018-04-08 16:46:10
磁卡上的3個Track一般都是使用位(bit)方式來編碼的。根據(jù)數(shù)據(jù)所在的Track不同,5個bit或7個bit組成一個字節(jié)。Track1(IATA):記錄密度為210BPI;可以記錄0~9數(shù)字及A~Z字母等;總共可以記錄多達79個數(shù)字或字符(包含起始結(jié)束符和校驗符);每個字符(一個字節(jié))由7個bit組成。
由于Track1上的信息不僅可以用數(shù)字0~9來表示,還能用字母A~Z來表示信息,因此Track1上信息一般記錄了磁卡的使用類型、范圍等一些標記性、說明性的信息。例如銀行用卡中,Track1記錄了用戶的姓名,卡的有效使用期限以及其他的一些標記信息。
Track2(ABA):記錄密度為75BPI;可以記錄0~9數(shù)字,不能記錄A~Z字符;總共可以記錄多達40個數(shù)字(包含起始結(jié)束符和校驗符);每個數(shù)據(jù)(一個字節(jié))由5個bit組成。
Track3(THRIFT):記錄密度為210BPI;可以記錄0~9數(shù)字,不能記錄A~Z字母;總共可以記錄多達107個數(shù)字或字符(包含起始結(jié)束符和校驗符);每個字符(一個字節(jié))由5個bit組成。
由于Track2和3上的信息只能用數(shù)字0~9等來表示,不能用字母A~Z來表示信息,因此在銀行用卡中,Track2,3一般用以記錄用戶的帳戶信息、款項信息等等,當然還有一些銀行所要求的特殊信息等。
在實際的應用開發(fā)中,如果我們希望在Track2或3中表示數(shù)字以外的信息,例如ABC等,一般應采用按照國際標準的ASCII表來映射。例如,要記錄字母A在Track2或3上時,則可以用A的ASCII值0x41來表示。0x41可以在Track2或是Track3中用兩個數(shù)據(jù)來表示:4和1,即0101和0001。