читать массив байтов из C #, который написан из Java

Я пытаюсь написать целое число из 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);
}
8
задан Robin Green 10 May 2011 в 14:59
поделиться