ISO 8583 - 如何计算具有子场的字段的BCD值?

时间:2015-11-27 12:22:12

标签: iso bcd iso8583

任何人都可以回答通常如何计算具有子字段值的字段的BCD数据吗?

在代码方面,我的意思并不重要,因为我已经确定了这一部分。

我的意思是说我有字段X,它将被发送,包含5个子值的数据。该字段是BCD,但是每个子值是否会转换为BCD然后附加到字段X,还是会以明文的形式添加到字段X中,然后作为整体转换为BCD?

无法在任何地方找到明确的答案......即使在消息规范中我也没有找到明确的答案

干杯, Mike K

2 个答案:

答案 0 :(得分:1)

您必须知道字段X的格式和子字段的格式。 我举个例子。

假设您想使用字段X将emv数据从pos传输到主机 字段X的格式如下所述。

  

长度属性3字节LLL要遵循的数据长度
  子字段1 var bytes第一个附加子字段
  子字段2 var字节第二附加子字段
  ...
  子字段n var bytes nth附加子字段

     

每个附加子字段的结构如下   标签名称2个字节
  标签长度1字节
  标记值..bytes

答案 1 :(得分:0)

如果一个字段包含子字段,则每个子字段都以其自己的格式打包或解包。

然后,不应再次打包或解压缩子字段。

如果字段包含子字段,则无需定义字段主体的格式。但是,可以定义字段标题格式(标签或长度)。

下面的示例包含一个带有三个子字段的字段

 export default function Home() {
    const [isTestVisible, setTestVisible] = useState(false);
    const showTest= () => setTestVisible(true);       

    return (
        <div className='container'>
            <div className='row'>
                <div className='col-12'>
                    <div>
                        <h1 onClick={showTest}>Cruse</h1>
                        {isTestVisible && <Test />}
                    </div>
                </div>
            </div>
        </div>
    )
}

该示例的源代码可在GitHub

上找到

iso-8583-packer Java库用于创建此示例。我是图书馆的作者。