0

LLLLVAR 和 LLLLBIN 从相同的输入产生不同的长度。

尝试将值“6832”传递给同一个 IsoMessage 对象,但是,LLLLVAR 返回“ 0004 6382”,而 LLLLBIN 返回“ 0008 36333832”。

源代码示例如下:

msg.setValue(60, "6832".toByteArray(Charsets.US_ASCII), IsoType.LLLLBIN, 10)//encodes to 000836333832 
msg.setValue(60, "6832", IsoType.LLLLVAR, 10) //encodes to 00046382 

我虽然都应该返回 0004,但为什么两个结果不同?

4

1 回答 1

0

当您将 ISO 消息编码为文本时,LxBIN 字段将其数据编码为十六进制,因此大小是您期望的两倍。但是,解码器会解码十六进制数据并在解析时为您提供一个字节数组。

仅当使用二进制格式对整个消息进行编码时,LxVAR 和 LxBIN 字段才具有相同的长度。

于 2019-04-11T17:41:01.723 回答