Lieber Community,
ich habe hier zwei Anwendungen die über eine SocketConnection miteinander kommunizieren. Serverseitig kommt JAVA zum Einsatz und Clientseitig C#. Nun ist mir aber aufgefallen, dass ein byte in C# zwischen 0 - 256 und in Java zwischen -128-128 abgebildet wird. Beim konvertieren der bytes in die Datentypen der jeweiligen Programmiersprache kommt es nun zu einer Fehlinterpretation.
Beispielsweise wird in Java die Zahl (short) 20150 als folgende Bytefolge abgebildet {78, -74}. Schicke ich diese zwei Bytes über den Socket an C# rüber bekomme ich dort {78, 182} und dies wird über den BitConverter.ToInt16 als -18866 dargestellt.
Kann mir eine sagen wie ich die Bytes bzw. konkret die primitiven Datentypen korrekt von Java nach C# und C# nach Java korrekt abbilden kann?
Vielen Dank im voraus!
Euer Volrath
ich habe hier zwei Anwendungen die über eine SocketConnection miteinander kommunizieren. Serverseitig kommt JAVA zum Einsatz und Clientseitig C#. Nun ist mir aber aufgefallen, dass ein byte in C# zwischen 0 - 256 und in Java zwischen -128-128 abgebildet wird. Beim konvertieren der bytes in die Datentypen der jeweiligen Programmiersprache kommt es nun zu einer Fehlinterpretation.
Beispielsweise wird in Java die Zahl (short) 20150 als folgende Bytefolge abgebildet {78, -74}. Schicke ich diese zwei Bytes über den Socket an C# rüber bekomme ich dort {78, 182} und dies wird über den BitConverter.ToInt16 als -18866 dargestellt.
Kann mir eine sagen wie ich die Bytes bzw. konkret die primitiven Datentypen korrekt von Java nach C# und C# nach Java korrekt abbilden kann?
Vielen Dank im voraus!
Euer Volrath