磁条卡
(磁卡)如何写入信息,一般而言,应用于银行系统的磁卡上的磁带有3 个磁道,分别为Track1,Track2 及Track3。每个Track都记录着不同的信息,这些信息有着不同的应用。此外,也有一些应用系统的磁卡只使用了两个磁道(Track),甚至只有一个Track。在我们所设计的应用系统中,根据具体情况,可以使用全部的三个Track或是二个或一个Track。
磁卡上3 个Track 一般都是使用“位”(bit)方式来编码的。根据数据所在的Track 不同,5 个bit或7 个bit 组成一个字节。
Track1(IATA):记录密度为210BPI;可以记录0~9 数字及A~Z 字母等;总共可以记录多达79 个数字或字符(包含起始结束符和校验符);每个字符(一个字节)由7 个bit 组成。由于Track1 上的信息不仅可以用数字0~9 来表示,还能用字母A~Z 来表示信息,因此Track1 上信息一般记录了磁卡的使用类型、范围等一些“标记”性、“说明”性的信息。例如银行用卡中,Track1 记录了用户的姓名,卡的有效使用期限以及其他的一些“标记”信息。
Track2(ABA):记录密度为75BPI;可以记录0~9 数字,不能记录A~Z 字符;总共可以记录多达40个数字(包含起始结束符和校验符);每个数据(一个字节)由5 个bit 组成。
Track3(THRIFT):记录密度为210BPI;可以记录0~9 数字,不能记录A~Z 字母;总共可以记录多达107 个数字或字符(包含起始结束符和校验符);每个字符(一个字节)由5 个bit 组成。由于Track2 和Track3 上的信息只能用数字0~9 等来表示,不能用字母A~Z 来表示信息,因此在银行用卡中,Track2,3 一般用以记录用户的帐户信息、款项信息等等,当然还有一些银行所要求的特殊信息等。
在实际的应用开发中,如果我们希望在Track2 或3 中表示数字以外的信息,例如“ABC”等,一般应采用按照国际标准的ASCII 表来映射。例如,要记录字母“A”在Track2 或3 上时,则可以用“A”的ASCII值“0x41”来表示。“0x41”可以在Track2 或是Track3 中用两个数据来表示:“4”和“1”,即“0101”和“0001”。
金融领域用磁卡,磁道1、2、3都可能用,如工行用1、3磁道,建行用2、3磁道。一般非金融领域用磁卡,只将信息记录在第2磁道。