BCD中的Track2 - 'D'字符

时间:2013-11-23 21:37:42

标签: bcd openiso8583.net

我应该以BCD格式发送数据元素35(Track2:“..... = .....”)。 '='字符将替换为'D'。

BCD中的0x0D不是非法的吗?

但是,客户永远是对的...那么,怎么做呢?

我可以添加以下静态方法:

  BcdVar(..., IFieldValidator validator)

并致电:

  msg[Bit._035_TRACK_2_DATA] = FieldDescriptor.BcdVar(2, 37, FieldValidators.Track2);

是否可以不更改lib?

1 个答案:

答案 0 :(得分:1)

尝试使用二进制字段描述符而不是BCD。

为什么我认为这是通过使轨道分隔符为=,您可以将打包从ASCII更改为BINARY,这可以节省30个奇数字节。现在不重要,但我可以想象它在几年前很重要。

我发现Hypercom终端默认执行此操作,根据我的经验,我必须在服务器上为某些传出接口更改它。