2009-12-22 2 views
0

Некоторые значения поля содержит 0x0D Specail персонажу Значение из шестнадцатеричного:МСС: не может найти данные управления «0x0D» при использовании метода isoMsg.getString (ID)

4041000000000001D0534534534112342340000 

Но когда я получаю значение поля с помощью isoMsg.getString (FIELD_ID), я получил знак равенства вместо символа 0x0D

4041000000000001=0534534534112342340000 

есть ли способ, чтобы вернуть значение, как без изменения каких-либо данных, контроль символов?

+0

Какой тип данных вы выбрали для данного поля? Например. для полей, закодированных в BCD, я предполагаю, что JPos может заменить недействительный «D» полубайт заменяющим символом типа «=». – jarnbjo

ответ

0

Что-то не так. Вы смотрите на это:

4041000000000001D0534534534112342340000

Это 39 символов, или 19,5 байт. Это ваша проблема?

+0

Я так не думаю. –

+0

Просто не имеет смысла интерпретировать эту строку как символы, потому что у вас есть половина символа в этой строке. Как насчет того факта, что «D» является единственной буквой в этой строке? – John

1

jPOS преобразует 'D' в '=' на полях BCD, используя метод ISOUtil.bcd2str.

Это полезно для обработки данных track2.

Вы можете легко заменить его обратно.