整数をバイト配列に変換する (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 サイトの他の関連記事を参照してください。