ホームページ >Java >&#&チュートリアル >Javaで整数をバイト配列に変換するにはどうすればよいですか?

Javaで整数をバイト配列に変換するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-23 11:43:53637ブラウズ

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

整数をバイト配列に変換する (Java)

Java では、さまざまな方法を使用して整数をバイト配列に変換できます。効率的な方法の 1 つは、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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。