Я пытаюсь написать целое число из 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);
}