2

我面临着发送 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 的字符编码方式进行一般解释。我确实意识到每个公司都可以有不同的实现。

4

1 回答 1

2

我讨厌快速回答自己的问题,但是……我刚刚找到了答案。

EBCDIC

我想在打卡时代不是程序员让我在这个方面放慢了速度

0xF0 = '0'

于 2012-07-10T21:04:20.640 回答