2

Data-Element 35 (Track2: ".....=.....") を BCD 形式で送信することになっています。「=」文字は「D」に置き換えられます。

BCD で 0x0D は違法ではありませんか?

しかし、顧客は常に正しい... では、どうすればそれができるのでしょうか?

次の静的メソッドを追加できます。

  BcdVar(..., IFieldValidator validator)

そして呼び出します:

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

libを変更せずに可能ですか?

4

1 に答える 1

1

BCD の代わりにバイナリ フィールド記述子を使用してみてください。

これが起こった理由は、トラックセパレーターを = にすることであったと思います。パッキングを ASCII から BINARY に変更して、30 奇数バイトを節約できます。今は重要ではありませんが、数年前は重要だったと想像できます。

Hypercom 端末はデフォルトでこれを行うことがわかりました。私の経験では、特定の発信インターフェイス用にサーバーで変更する必要がありました。

于 2013-11-26T09:21:12.597 に答える