У меня нет опыта работы с Java, поэтому все идет прямо к моей голове: -
Код Java:
long foo = 1234567890;
byte[] boo = ByteBuffer.allocate(8).putLong(foo).array();
Код C #:
long foo = 1234567890;
byte[] bar = BitConverter.GetBytes(foo);
// reverse to match Java's Big Endianess
byte[] boo = bar.Reverse().ToArray();
В примере Java boo = 0, 0, 0, 0, 73, -106, 2, -46
Однако в C # boo = 0, 0, 0, 0, 73, 150, 2, 210
Может кто-то с большим мозгом, объяснить, почему они отличаются?
Большое спасибо!