0

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

我们被告知角色正在转换为他们身边的 4。我的问题是:我们应该使用什么字符来替换 = 字符?还是我们不理会 = 字符?

感谢您的任何指导。

4

1 回答 1

2

磁道 2 数据作为具有奇偶校验的二进制编码十进制存储在信用卡上,其他可能的二进制值用于控制。

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。

于 2014-09-05T04:36:36.940 回答