5
我想从java客户端发送数据到c#服务器,并无法将int转换为字节数组。不同的结果时,将int转换为字节数组 - .NET vs Java
当我使用此代码转换的数量8342用C#:
BitConverter.GetBytes(8342)
结果为:X [4] = {150,32,0,0}
用java我使用:
ByteBuffer bb = ByteBuffer.allocate(4);
bb.putInt(8342);
return bb.array();
和这里的结果是:X [4] = {0,0,32,-106}
有人能解释?我是java新手,这是我第一次看到字节数组中的负数。
Well ByteBuffer被记录(所以阅读jdoc会有帮助)使用BigEndian作为默认值,但这实际上是一个有趣的问题,Java是否定义了使用的ByteOrder?我怀疑它 - 会是一个很高的性能打击,反正不明显(除非写输出,我们可以根据文档轻松地将其转换) – Voo 2011-05-07 00:08:38
我认为现在的输出将是-106,32,067,010, – 2011-05-07 00:09:53
@Bala R - 已签名和未签名的已添加点 – manojlds 2011-05-07 00:11:13