2016-03-31 12 views

Antwort

0

Alle Fenster x64/x86 sind Little-Endian-Systeme, so, nachdem Sie in C# Ihre Byte-Array erhalten, sollten Sie Ihre Big-Endian-Byte-Reihenfolge umkehren:

double b1 = BitConverter.ToDouble(bytes.Reverse().ToArray(), 0); 

Wenn Sie auf Mono laufen irgendwo sonst kann man BitConverter.IsLittleEndian verwenden um zu überprüfen, ob Sie das Array umkehren müssen.

Und das Äquivalent Doppel Serializer wäre:

double x = 1.1; 
byte[] bytes = BitConverter.GetBytes(x); 
if (BitConverter.IsLittleEndian) 
{ 
    // on windows `IsLittleEndian` would be always true 
    bytes = bytes.Reverse().ToArray() 
}