如何将iso8583的二进制转换为字节?

时间:2017-08-09 02:52:53

标签: node.js iso8583

我正在尝试了解iso8583以及如何将其发送给我们的支付提供商。我看到消息结构的第一部分是消息类型标识符。我使用0100进行授权,这似乎是正确的。但是,我似乎也没有以正确的格式发送它。我只是发送二进制表示,意思是我发送,然后发送消息的其余部分。在发送之前是否需要将0100转换为字节?我正在使用node.js.感谢任何帮助,因为这是一个非常复杂的主题。

2 个答案:

答案 0 :(得分:0)

您必须使用ascii格式。在您的情况下,您必须使用4个字节0100发送授权ascii十六进制表示为0x30 0x31 0x30 0x30

答案 1 :(得分:0)

Panagiotis所说的是MTI(以及消息的其余部分)需要从ASCII转换为十六进制。这样的事情会做到这一点:

    let message = "0100..."
    let msgArr = message.split( "" )
    let convertedMessage = ""
    for ( let index in msgArr )
    {
        convertedMessage += String.fromCharCode( msgArr[ index ]).toString( 16 )
    }
    // use convertedMessage to send your request