ISO 8583 Rev 93 Упаковка / распаковка букв и цифр

Я столкнулся с задачей отправки сообщений ISO 8583 Rev 93 и использую openiso8583.net. Компания, которая потребляет мои сообщения, предоставила образцы сообщений, и я неясен относительно следующих атрибутов поля:

Специальные символы Буквенные и цифровые символы Буквенные и специальные символы Число и специальные символы Буквенные, цифровые и специальные символы

Вот пример:

Signon Reply
0810822000000200000004000000000000000501130427000005F0F00001
NUM  |FLDNAME |FIELD DESCRIPTION              |LEN |T|FIELD VALUE
-----|--------|-------------------------------|----|-|--------------------------
N/A  |MSGTYPE |MESSAGE TYPE                   |F2  |H|0810`
N/A  |BITMAP1 |FIRST BITMAP                   |B8  |H|8220000002000000`
1    |BITMAP2 |SECOND BITMAP                  |B8  |H|0400000000000000`
7    |MISDTMDT|TRANSMISSION DATE AND TIME     |F5  |H|0501130427`
11   |MISDSTAN|SYSTEM TRACE AUDIT NUMBER      |F3  |H|000005`
39   |MISDRSPC|RESPONSE CODE                  |F2  |C|00`      <------?
70   |MISDNMIC|NETWORK MANAGEMENT INFO CODE   |F2  |H|0001`

Сначала посмотрите на байты сообщения: 0810822000000200000004000000000000000501130427000005 *F0F0* 0001

Мой вопрос заключается в том, как два байта { 0xF0, 0xF0 } переводятся в "00". Если бы компания отправляла ASCII, я бы ожидал, что "00" будет { 0x30, 0x30 }. BCD используется для числовых значений, но я не могу понять, как кодируются значения символов.

Вот описание для поля 39:

039:
Network Response Code

Attributes: 
an 2*

Description:
A field that indicates the result of a previous related request. It will indicate
approval or reason for rejection if not approved. It is also used to indicate to the
device processor whether or not machines that are capable of retaining the customer's
card should do so.

Format:
In transaction replies, the response code must contain one of the following values
with their corresponding meanings. For debit/host-data-capture 0220 / 0420 messages, a
response code of '00' must be returned to indicate the transaction was approved. For
EBT transactions, please refer to section 4.8 EBT Transaction Receipt Requirements.

an2 означает буквенные и цифровые символы

Растровое изображение 1 составляет 64 бита

Растровое изображение 2 составляет 64 бита

Тип сообщения 4 байта

Поле 7 является числовым 4-битным BCD (упакованный без знака) 10, 5 байтов

Поле 11 - числовой 4-битный BCD (упакованный без знака) 6, 3 байта

Поле 39 представляет собой 2, я предполагаю, 2 байта

Поле 70 - это числовой 4-битный BCD (упакованный без знака) 3, 2 байта

Любые подсказки или указатели будут с благодарностью. Может быть, кто-то знает о какой-то кодировке, которую я явно не знаю или могу дать общее объяснение того, как кодируются символы для ISO 8583 Rev 93. Хотя я понимаю, что каждая компания может иметь разные реализации.

1 ответ

Ненавижу отвечать на свои вопросы быстро, но... Я только что нашла ответ.

EBCDIC

Я думаю, что не быть программистом во времена перфокарт замедлило меня на этом

0xF0 = '0'

Другие вопросы по тегам