ISO 8583 - 如何计算具有子字段的字段的 BCD 值?
ISO 8583 - How are BCD Values Calculated For Fields With Subfields?
谁能回答通常如何为具有子字段值的字段计算 BCD 数据?
我不是指代码,因为我已经确定了那部分。
我的意思是说我有字段 X,要发送的字段包含 5 个子值的数据。该字段是 BCD,但是否将每个子值转换为 BCD,然后附加到字段 X,或者将它们以明文形式添加到字段 X,然后作为一个整体转换为 BCD?
无法在任何地方找到明确的答案...甚至在我正在处理 oO 的消息规范中也没有
干杯,
迈克·K
你必须知道字段X的格式和子字段的格式。
我举个例子。
假设您想使用字段 X 将 emv 数据从 pos 传输到主机。
字段 X 的格式如下所述。
Length Attribute 3 bytes LLL Length of data to follow
Subfield 1 var bytes First Additional subfield
Subfield 2 var bytes Second Additional subfield
...
Subfield n var bytes nth Additional subfield
The structure of each additional subfield is as follows
Tag Name 2 bytes
Tag Length 1 byte
Tag Value ..bytes
如果一个字段包含子字段,则每个子字段都以其自己的格式打包或解包。
子字段不应再次打包或解包。
如果字段包含子字段,则无需定义字段体的格式。但是,可以定义字段头格式(标记或长度)。
以下示例包含一个具有三个子字段的字段
Message Structure:
<f type="VAL" name="Parent" len="21">
<f type="VAL" name="Child1" bodyPacker="BcdBodyPacker" len="6"/>
<f type="VAL" name="Child2" bodyPacker="BcdBodyPacker" len="7"/>
<f type="VAL" name="Child3" bodyPacker="BcdBodyPacker" len="8"/>
</f>
Message data:
<f name="Parent">
<f name="Child1" val="111111111111"/>
<f name="Child2" val="22222222222222"/>
<f name="Child3" val="3333333333333333"/>
</f>
Message bytes in hex:
111111111111222222222222223333333333333333
例子的源代码可以在GitHub
上找到
iso-8583-packer Java 库用于创建此示例。我是图书馆的作者。
谁能回答通常如何为具有子字段值的字段计算 BCD 数据?
我不是指代码,因为我已经确定了那部分。
我的意思是说我有字段 X,要发送的字段包含 5 个子值的数据。该字段是 BCD,但是否将每个子值转换为 BCD,然后附加到字段 X,或者将它们以明文形式添加到字段 X,然后作为一个整体转换为 BCD?
无法在任何地方找到明确的答案...甚至在我正在处理 oO 的消息规范中也没有
干杯, 迈克·K
你必须知道字段X的格式和子字段的格式。 我举个例子。
假设您想使用字段 X 将 emv 数据从 pos 传输到主机。
字段 X 的格式如下所述。
Length Attribute 3 bytes LLL Length of data to follow
Subfield 1 var bytes First Additional subfield
Subfield 2 var bytes Second Additional subfield
...
Subfield n var bytes nth Additional subfieldThe structure of each additional subfield is as follows
Tag Name 2 bytes
Tag Length 1 byte
Tag Value ..bytes
如果一个字段包含子字段,则每个子字段都以其自己的格式打包或解包。
子字段不应再次打包或解包。
如果字段包含子字段,则无需定义字段体的格式。但是,可以定义字段头格式(标记或长度)。
以下示例包含一个具有三个子字段的字段
Message Structure:
<f type="VAL" name="Parent" len="21">
<f type="VAL" name="Child1" bodyPacker="BcdBodyPacker" len="6"/>
<f type="VAL" name="Child2" bodyPacker="BcdBodyPacker" len="7"/>
<f type="VAL" name="Child3" bodyPacker="BcdBodyPacker" len="8"/>
</f>
Message data:
<f name="Parent">
<f name="Child1" val="111111111111"/>
<f name="Child2" val="22222222222222"/>
<f name="Child3" val="3333333333333333"/>
</f>
Message bytes in hex:
111111111111222222222222223333333333333333
例子的源代码可以在GitHub
上找到iso-8583-packer Java 库用于创建此示例。我是图书馆的作者。