将int转换为字节数组时的结果不同-.NET与Java

将int转换为字节数组时的结果不同-.NET与Java,第1张

将int转换为字节数组时的结果不同-.NET与Java

您必须更改字节序:

 bb.order(ByteOrder.LITTLE_ENDIAN)

Java在内部将事物存储为Big Endian,而.NET默认为Little Endian。

Java和.NET之间的有符号和无符号也有所不同。Java使用带符号的字节,C#使用无符号的字节。您也必须更改它。

基本上,这就是为什么您看到-106(150-256)

您将必须执行以下类似于实用程序方法的 *** 作:

public static void putUnsignedInt (ByteBuffer bb, long value)    {       bb.putInt ((int)(value & 0xffffffffL));    }

请注意,值很长。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5054855.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存