繁体   English   中英

J8583 LLLLBIN和LLLLVAR产生不同的长度填充结果

[英]J8583 LLLLBIN and LLLLVAR produces the different length padding result

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,但为什么结果都不同?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM