java - Java - ¿Convertir int a Byte Array de 4 Bytes?




2 Answers

Puede convertir yourInt en bytes usando un ByteBuffer como este:

return ByteBuffer.allocate(4).putInt(yourInt).array();

Tenga en cuenta que es posible que tenga que pensar en el orden de bytes al hacerlo.

Posible duplicado:
Convertir entero en matriz de bytes (Java)

Necesito almacenar la longitud de un búfer, en una matriz de bytes de 4 bytes de ancho.

Pseudo código:

private byte[] convertLengthToByte(byte[] myBuffer)
{
    int length = myBuffer.length;

    byte[] byteLength = new byte[4];

    //here is where I need to convert the int length to a byte array
    byteLength = length.toByteArray;

    return byteLength;
}

¿Cuál sería la mejor manera de lograr esto? Teniendo en cuenta que debo convertir esa matriz de bytes a un número entero más tarde.




int integer = 60;
byte[] bytes = new byte[4];
for (int i = 0; i < 4; i++) {
    bytes[i] = (byte)(integer >>> (i * 8));
}



Related