首页 >Java >java教程 >在 Java 中如何在字节数组和整数之间进行转换?

在 Java 中如何在字节数组和整数之间进行转换?

Barbara Streisand
Barbara Streisand原创
2024-10-26 07:46:02466浏览

How do I convert between byte arrays and integers in Java?

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn