首頁  >  文章  >  Java  >  如何在 Java 中將整數轉換為位元組數組?

如何在 Java 中將整數轉換為位元組數組?

Patricia Arquette
Patricia Arquette原創
2024-11-23 11:43:53558瀏覽

How to Convert an Integer to a Byte Array in Java?

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn