Java把FF FF FF FF 1B 02 04 80 FF 82 A7 06 00 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 67 93 1B 04 FF FF截取部分字段转化成-18.2
时间: 2024-01-27 15:22:44 浏览: 57
JAVA文件编码转换
5星 · 资源好评率100%
可以使用 Java 中的 ByteBuffer 类来进行字节序列的转换操作。具体步骤如下:
1. 把要转换的字节序列存储到一个 byte 数组中
```java
byte[] bytes = {(byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF, 0x1B, 0x02, 0x04, (byte)0x80, (byte)0xFF, (byte)0x82, (byte)0xA7, 0x06, 0x00, 0x00, (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF, (byte)0xFF, 0x67, (byte)0x93, 0x1B, 0x04, (byte)0xFF, (byte)0xFF};
```
2. 创建 ByteBuffer 对象,设置字节序为 Little-endian
```java
ByteBuffer buffer = ByteBuffer.wrap(bytes);
buffer.order(ByteOrder.LITTLE_ENDIAN);
```
3. 使用 getInt() 方法获取下一个 int 类型的数据,并除以 10 得到转换后的结果
```java
int value = buffer.getInt();
float result = value / 10.0f;
```
4. 重复第3步,直到获取到所有要转换的数据,最后得到的结果即为 -18.2
```java
while (buffer.hasRemaining()) {
int value = buffer.getInt();
float result = value / 10.0f;
System.out.println(result);
}
```
阅读全文