java 大小端互相转换
时间: 2023-09-02 19:14:15 浏览: 106
在Java中,可以使用ByteBuffer类进行大小端互相转换。
1. 小端转大端:
```java
public static int littleToBigEndian(int value) {
ByteBuffer buffer = ByteBuffer.allocate(4);
buffer.order(ByteOrder.BIG_ENDIAN);
buffer.putInt(Integer.reverseBytes(value));
buffer.flip();
return buffer.getInt();
}
```
2. 大端转小端:
```java
public static int bigToLittleEndian(int value) {
ByteBuffer buffer = ByteBuffer.allocate(4);
buffer.order(ByteOrder.LITTLE_ENDIAN);
buffer.putInt(Integer.reverseBytes(value));
buffer.flip();
return buffer.getInt();
}
```
以上代码中,先使用ByteBuffer.allocate()方法创建指定大小的ByteBuffer对象,然后使用ByteBuffer.order()方法设置字节序为大端或小端。接着,使用ByteBuffer.putInt()方法将int类型的数值写入ByteBuffer中,并使用ByteBuffer.flip()方法翻转ByteBuffer对象,以便读取数据。最后,使用ByteBuffer.getInt()方法读取ByteBuffer中的数据,即可完成大小端互相转换。
阅读全文