我们有一个遗留的COBOL程序,它可以格式化iso 8583 0100授权请求。最近我们被告知由于分隔符,轨道II数据无效。 Track II数据位于PIC X()字段中,我们只需将=替换为字符D,然后再通过二进制内部2字节运行数据。
我们被告知角色正在转换为4。我的问题是:我们应该使用什么字符来替换=字符?或者我们单独留下=字符?
感谢任何指导。
答案 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。