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:
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.
Ergebnis:
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!
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:
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:
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!