我面临着发送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位
Msg类型为4个字节
字段7是数字4位BCD (打包无符号) 10,5个字节。
字段11是数字4位BCD (打包无符号) 6,3字节。
字段39是2,我假设是2个字节。
字段70是数字4位BCD (打包无符号) 3,2个字节。
任何线索或指示都将不胜感激。也许有人知道一些编码,我显然不知道,或者可以给出字符是如何编码ISO 8583参考93的一般解释。我确实意识到,每个公司都可以有不同的实现。
发布于 2012-07-10 21:04:20
我讨厌快速回答我自己的问题,但是.我刚找到答案。
EBCDIC
我想,在打卡时代,不做程序员会让我在这件事上慢下来。
0xF0 = '0‘
https://stackoverflow.com/questions/11421574
复制相似问题