将整数转换为字节数组(Java)
在 Java 中,可以使用多种方法实现将整数转换为字节数组。一种有效的方法涉及使用 ByteBuffer 类:
ByteBuffer b = ByteBuffer.allocate(4); b.putInt(0xAABBCCDD); byte[] result = b.array();
在上面的代码片段中,ByteBuffer 的字节顺序设置为 BIG_ENDIAN。结果,result[0] 包含最高有效字节 (0xAA),然后是 result[1] (0xBB)、result[2] (0xCC) 和 result[3] (0xDD)。
或者,您可以手动转换整数:
byte[] toBytes(int i) { byte[] result = new byte[4]; result[0] = (byte) (i >> 24); result[1] = (byte) (i >> 16); result[2] = (byte) (i >> 8); result[3] = (byte) (i); return result; }
ByteBuffer 类为此类任务提供了优化方法。值得注意的是,java.nio.Bits 定义了 ByteBuffer.putInt() 使用的辅助方法:
private static byte int3(int x) { return (byte)(x >> 24); } private static byte int2(int x) { return (byte)(x >> 16); } private static byte int1(int x) { return (byte)(x >> 8); } private static byte int0(int x) { return (byte)(x >> 0); }
这些方法旨在有效地从整数中提取单个字节。
以上是如何在 Java 中将整数转换为字节数组?的详细内容。更多信息请关注PHP中文网其他相关文章!