Я пытаюсь написать целое число из C # и прочитать его из Java. Целое число составляет 4 байта на обоих языках. Однако, когда я пишу его с C #, целое число 1 записывается в следующих байтах 1000. Это означает, что первый байт равен 1, а остальные - 0.
Но в Java то же самое написано как 0001. То есть первые 3 байта равны 0, а последний - 1.
Есть простой способ чтение и запись между этими языками вместо того, чтобы вручную менять местами каждые 4 байта? Код для Java
ByteBuffer buffer = ByteBuffer.allocate(4);
buffer.putInt(1);
for(byte b: buffer.array()){
System.out.print(b);
}
Код для C #
MemoryStream ms = new MemoryStream();
using(BinaryWriter writer = new BinaryWriter(ms))
{
writer.Write((int)1);
}
foreach(byte b in ms.ToArray()){
Console.Write(b);
}