您必须更改字节序:
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)); }
请注意,值很长。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)