Java 中字节数组和整数之间的转换
处理二进制数据或在系统之间传递值时,字节数组和整数之间的转换变为基本的。本文深入探讨了在 Java 中实现此转换的简单过程。
位于 java.nio 包中的 ByteBuffer 类提供了一种处理字节操作的有效方法。它简化了字节数组和各种数值类型之间的转换。
字节数组到整数
要将字节数组转换为整数,请使用 getShort ByteBuffer 的方法:
<code class="java">byte[] arr = { 0x00, 0x01 }; ByteBuffer wrapped = ByteBuffer.wrap(arr); // big-endian by default short num = wrapped.getShort(); </code>
包装的 ByteBuffer 是从输入字节数组创建的。默认情况下,Java 采用大端排序,其中最左边的字节表示最高有效位。或者,对于小端排序,请使用 getIntLittleEndian.
整数到字节数组
要将整数转换为字节数组,请利用ByteBuffer 的 putShort 方法:
<code class="java">ByteBuffer dbuf = ByteBuffer.allocate(2); dbuf.putShort(num); byte[] bytes = dbuf.array(); </code>
示例
考虑一个整数 1. 当转换为字节数组时,它变成 {0x00, 0x01}。这是因为1是二进制形式的16位无符号整数,每个字节代表8位。最左边的字节存储最高有效位 (0x00),最右边的字节包含最低有效位 (0x01)。
以上是在 Java 中如何在字节数组和整数之间进行转换?的详细内容。更多信息请关注PHP中文网其他相关文章!