將整數轉換為位元組數組(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中文網其他相關文章!