使用Cobol格式化信用卡轨道II数据分隔符

时间:2014-09-04 00:54:11

标签: cobol separator credit-card-track-data

我们有一个遗留的COBOL程序,它可以格式化iso 8583 0100授权请求。最近我们被告知由于分隔符,轨道II数据无效。 Track II数据位于PIC X()字段中,我们只需将=替换为字符D,然后再通过二进制内部2字节运行数据。

我们被告知角色正在转换为4。我的问题是:我们应该使用什么字符来替换=字符?或者我们单独留下=字符?

感谢任何指导。

1 个答案:

答案 0 :(得分:2)

Track 2数据作为Binary Coded Decimal存储在信用卡上,带有奇偶校验,其他可能的二进制值用于控制。

Hex  ASCII  Meaning
0      0    0
1      1    1
2      2    2
3      3    3
4      4    4
5      5    5
6      6    6
7      7    7
8      8    8
9      9    9
A      :    (not used)
B      ;    Start Sentinel
C      <    (not used)
D      =    Field Separator
E      >    (not used)
F      ?    End Sentinel

我有一种感觉,“二进制内在”只是简单地将ASCII转换为BCD,如果您使用标准的ASCII字符,您将得到您想要的,因为=是ASCII中的0x3D并且如果您剥离第一个蚕食你留下了一个0xD。