konvertieren eines Strings von "1\02\03\04\0" to "1234"
-
hallo,
ich verschicke einen String von einer c++ .dll zu einer c# userform. Mein Problem ist das der jedem Zeichen ein '\0' folgt. Gibt es eine einfache möglichkeit dies in einen "standard String" zu konvertieren??
Viele Grüße!
-
Stichwort: Unicode
Wie genau verschickst du denn den String und wie empfängst du ihn?
-
via named pipe
edit: habs gelöst mit http://msdn.microsoft.com/en-us/library/system.io.pipes.namedpipeserverstream.runasclient.aspx
edit die zweite:
noch leichter gehts mitStreamReader pipeStreamReader = new StreamReader(p, Encoding.Unicode); filename = pipeStreamReader.ReadLine();
-
Ich würde schreiben:
string text = "1\02\03\04\0"; text = text.Replace("\0", "");
-
#Darius# schrieb:
Ich würde schreiben:
string text = "1\02\03\04\0"; text = text.Replace("\0", "");
Und würdest nicht das eigentliche Problem treffen und dadurch unter gewissen Umständen, wenn das zweite Byte des UTF-16 kodierten Strings benötigt wird, trotzdem fehlerhafte Strings erhalten. Man sollte nicht die Symptome bekämpfen sondern die Ursache. Daher sollte man gleich die richtige Enkodierung verwenden, was ajax20 offensichtlich nun gemacht hat.
Grüssli
-
Hast recht...
Seie Lösung hatte ich gestern iwie nicht gepeilt, aber wenn ichs so sehe ist ja eigendlich Prima!! Werd ich mir zumindest merken.LG Darius...