Wie dieser Beitrag Punkte aus Ссылка C # unterstützt Binary nur wenig endian so muss man es auf der Java-Website mit der Bestellmethode konfigurieren Ссылка
Ich versuche einen Integer aus C # zu schreiben und lese ihn aus Java. Eine Ganzzahl ist 4 Byte in beiden Sprachen. Wenn ich es jedoch aus C # schreibe, wird Integer 1 in die folgenden Bytes geschrieben 1000. Das erste Byte ist 1 und der Rest ist 0.
Aber in Java wird das Gleiche als 0001 geschrieben. Die ersten 3 Bytes sind 0 und die letzte ist 1.
Gibt es eine einfache Möglichkeit, zwischen diesen Sprachen zu lesen und zu schreiben, anstatt jedes vierte Byte manuell umzukehren? Der Code für Java
%Vor%Der Code für C #
%Vor%Sie können die Endianheit auf einer der Seiten wechseln, um sie kompatibel zu machen.
Zum Beispiel auf der Java-Seite können Sie festlegen, dass ByteOrder.LITTLE_ENDIAN (Standard ist BIG_ENDIAN)
verwendet wirdIn Ihrem Fall können Sie ByteBuffer.order () , um die Reihenfolge festzulegen.
%Vor%Oder Sie können wählen, ob Sie es auf C # -Seite ändern möchten. In diesem Fall müssen Sie Big-Endian so konfigurieren, dass es mit Java kompatibel ist.
Tags und Links java c# bytearray endianness