LLLLVAR和LLLLBIN从相同的输入产生不同的长度。
试图将值“ 6832”传递到同一IsoMessage对象中,但是LLLLVAR返回“ 0004 6382”,而LLLLBIN返回“ 0008 36333832”。 / p>
源代码示例如下:
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,为什么结果都不同?
答案 0 :(得分:0)
将ISO消息编码为文本时,LxBIN字段将其数据编码为十六进制,因此大小是您期望的两倍。但是,解码器会解码十六进制数据,并在解析时为您提供字节数组。
仅当使用二进制格式对整个邮件进行编码时,LxVAR和LxBIN字段的长度相同。