我面临着发送ISO 8583 Rev 93消息并使用openiso8583.net的任务。正在使用我的消息的公司给出了消息样本,我不清楚以下Field属性:
特殊字符 字母和字母数字字符 字母和字母特殊字符 数字&特殊字符 字母,数字和&特殊字符
以下是示例:
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表示字母&amp;数字字符
位图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的字符编码进行一般性的阐述。我确实知道每个公司可以有不同的实现。