Ganzzahl in Byte-Array konvertieren (Java)
In Java kann die Konvertierung einer Ganzzahl in ein Byte-Array mit verschiedenen Ansätzen erreicht werden. Eine effiziente Methode ist die Verwendung der ByteBuffer-Klasse:
ByteBuffer b = ByteBuffer.allocate(4); b.putInt(0xAABBCCDD); byte[] result = b.array();
Im obigen Codeausschnitt ist die Bytereihenfolge des ByteBuffer auf BIG_ENDIAN festgelegt. Infolgedessen enthält result[0] das höchstwertige Byte (0xAA), gefolgt von result[1] (0xBB), result[2] (0xCC) und result[3] (0xDD).
Alternativ können Sie die Ganzzahl manuell konvertieren:
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; }
Die ByteBuffer-Klasse stellt optimierte Methoden für solche Aufgaben bereit. Insbesondere definiert java.nio.Bits Hilfsmethoden, die von ByteBuffer.putInt() verwendet werden:
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); }
Diese Methoden dienen dazu, einzelne Bytes effizient aus einer Ganzzahl zu extrahieren.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich eine Ganzzahl in ein Byte-Array in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!