【发布时间】:2012-11-13 06:01:28
【问题描述】:
我必须在旧系统和安卓设备之间进行双向通信。 遗留系统使用小端字节序。 我已经成功实现了接收部分,但是发送不起作用。
奇怪,因为对我来说 ByteBuffer 类似乎出现故障(我简直不敢相信)
ByteBuffer byteBuffer = ByteBuffer.allocate(4);
byteBuffer.order(ByteOrder.LITTLE_ENDIAN);
byteBuffer = ByteBuffer.allocate(4);
byteBuffer.putInt(88);
byte[] result = byteBuffer.array();
结果: [0, 0, 0, 88]
ByteBuffer byteBuffer = ByteBuffer.allocate(4);
byteBuffer.order(ByteOrder.BIG_ENDIAN);
byteBuffer = ByteBuffer.allocate(4);
byteBuffer.putInt(88);
byte[] result = byteBuffer.array();
结果也一样: [0, 0, 0, 88]
但是,如果我没记错,小端排序应该返回: [88, 0, 0, 0]
那么我错过了什么?
【问题讨论】:
标签: java android bytebuffer endianness