Java での整数からバイト配列への効率的な変換
整数からバイト配列への変換は、ネットワークなどのさまざまな目的に役立ちます。送信またはデータストレージ。この変換を実現するには複数の方法があります。
ByteBuffer クラス:
効率的な方法の 1 つは、ByteBuffer クラスを使用することです。 ByteBuffer は、バイナリ データを格納し、それを操作するためのさまざまな操作を提供するバッファです。 ByteBuffer を使用して整数をバイト配列に変換するには:
ByteBuffer b = ByteBuffer.allocate(4); // Allocate a 4-byte buffer b.putInt(0xAABBCCDD); // Write the integer value to the buffer byte[] result = b.array(); // Retrieve the byte array from the buffer
ここでは、バッファーのバイト順序により、バイトが正しい順序で配置されることが保証されます。
手動変換:
または、整数をバイトに手動で変換することもできますarray:
byte[] toBytes(int i) { // Create a new byte array of length 4 byte[] result = new byte[4]; // Shift bits and assign to each byte result[0] = (byte) (i >> 24); result[1] = (byte) (i >> 16); result[2] = (byte) (i >> 8); result[3] = (byte) i; return result; }
このアプローチでは、明示的なビット シフトと各バイトへの割り当てが必要です。
java.nio.Bits のヘルパー メソッド:
ByteBuffer クラスは、java.nio.Bits で定義された内部ヘルパー メソッドを利用します。 class:
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 サイトの他の関連記事を参照してください。