Estoy tratando de enviar datos desde un cliente java a un servidor C# y tener problemas para convertir int a byte array.diferentes resultados al convertir int a byte array - .NET vs Java
cuando estoy convertir el número 8342 con C# utilizando este código:
BitConverter.GetBytes(8342)
el resultado es: x [4] = {150, 32, 0, 0}
con java i uso :
ByteBuffer bb = ByteBuffer.allocate(4);
bb.putInt(8342);
return bb.array();
y aquí el resultado es: x [4] = {0, 0, 32, -106}
puede alguien explicar? Soy nuevo en Java y esta es la primera vez que veo números negativos en matrices de bytes.
Well ByteBuffer está documentado (por lo que la lectura del jdoc hubiera sido útil) para usar BigEndian como valor predeterminado, pero esa es en realidad una pregunta interesante, ¿define Java el ByteOrder utilizado? Lo dudo, sería un golpe de mucho a alto rendimiento y no se nota de todos modos (excepto cuando se escribe salida y podemos convertirlo fácilmente según la documentación) – Voo
Creo que ahora la salida será -106, 32, 0, 0 –
@Bala R - Punto agregado en – manojlds