Datentypen C# String zu Java String konvertieren

EinsenUndNullen

Neues Mitglied
Guten Tag,

für ein Projekt muss ich eine Kommunikation zwischen einer C# Anwendung (Server) und Java Anwendung (Client) schreiben.
Dabei übergibt der Server dem Klienten einen String.

Das Problem ist die Darstellung des Strings, wenn ich in C# (Server) einen String habe der den Wert "Dance" hat, so wird bei Java (Client) folgendes ausgegeben:
7WFdZuM.png


Nach einigen Recherchen bin ich darauf gestoßen, dass es am UTF-16 Codec liegt.
Wenn ich beispielsweise auf dem Java Klienten den String in der Variable Test habe und diese folgendermaßen zu UTF-16 konvertiere, so ist das Ergebnis schonmal besser - aber nicht perfekt.

Java:
byte[] testByte = test.getBytes();
test = new String(testByte,"UTF-16");

Ergebnis:
EtjcSrd.png


Es wird an jeden String hinten etwas angehängt.
Natürlich kann ich jetzt einfach jedesmal das letzte Zeichen entfernen, aber es würde mich mehr interessieren woran es liegt und was es noch für Lösungen gibt, vielen Dank! 🙂
 
Du kannst dir ja die Byte-Werte ausgeben lassen und dir anschauen, welcher Code da am Ende steht.
Meine Vermutung ist, dass es sich um einen Zeilenumbruch handelt.
Laufen die beiden Programme unter demselben Betriebssystem ?
 
Gibt es für die Kommunikation zwischen unterschiedlichen Plattformen nicht sogar extra Standards, die die Kommunikation erleichtern? Stichwort XML?
 

Zurück
Oben