我应该以BCD格式发送数据元素35(Track2:“..... = .....”)。 '='字符将替换为'D'。
BCD中的0x0D不是非法的吗?
但是,客户永远是对的...那么,怎么做呢?
我可以添加以下静态方法:
BcdVar(..., IFieldValidator validator)
并致电:
msg[Bit._035_TRACK_2_DATA] = FieldDescriptor.BcdVar(2, 37, FieldValidators.Track2);
是否可以不更改lib?
答案 0 :(得分:1)
尝试使用二进制字段描述符而不是BCD。
为什么我认为这是通过使轨道分隔符为=,您可以将打包从ASCII更改为BINARY,这可以节省30个奇数字节。现在不重要,但我可以想象它在几年前很重要。
我发现Hypercom终端默认执行此操作,根据我的经验,我必须在服务器上为某些传出接口更改它。