Senden einer Zeichenfolge mit Sonderzeichen durch ein TcpClient (byte[])

Ich versuche zu senden, einen string mit Sonderzeichen durch ein TcpClient (byte[]). Hier ist ein Beispiel:

  • Kunde "amé" in eine textbox
  • Client konvertiert string zu byte[] mittels einer bestimmten Kodierung (ich habe versucht, alle der vordefinierten ones, plus some like "iso-8859-1")
  • Client sendet byte[] durch TCP
  • - Server empfängt und Ausgänge die string zurückverwandelt, mit der gleichen Codierung (ein Listenfeld)

Edit :

Ich vergaß zu erwähnen, dass der resultierende string war "bin?".

Bearbeiten-2 (wie gewünscht, hier ein paar code):

@DJKRAZE hier ist ein bisschen code :

byte[] buffer = Encoding.ASCII.GetBytes("amé");
(TcpClient)server.Client.Send(buffer);

Auf der server-Seite:

byte[] buffer = new byte[1024];
Client.Recieve(buffer);
string message = Encoding.ASCII.GetString(buffer);
ListBox1.Items.Add(message);

Die Zeichenfolge, die angezeigt wird in der listbox "bin?"

=== Lösung ===

Encoding encoding = Encoding.GetEncoding("iso-8859-1");
byte[] message = encoding.GetBytes("babé");

Update:

Einfach mit Encoding.Utf8.GetBytes("ééé"); funktioniert wie ein Charme.

Philippe Sie haben vorhandenen code.. ? warum ist es, dass die Menschen Fragen stellen Sie hier online und erwarten, dass wir wissen, was es ist, Sie reden..? wir können nicht sehen, was Sie tun, wir wissen auch nicht, was dein code aussieht.. also nach, was es ist, Sie arbeiten mit...
Eine Fehlermeldung und/oder die falschen Ergebnisse, die Sie sehen, würde auch helfen.
hier ist ein bisschen code : byte[] buffer = Encoding.ASCII.GetBytes("amé"); (TcpClient)server.Client.Send(buffer); Auf der server-Seite: byte[] buffer = new byte[1024]; Client.Receive(buffer); string Nachricht = Encoding.ASCII.GetString(buffer); ListBox1.Elemente.Add(message); Die Zeichenfolge, die angezeigt wird in der listbox "bin?"
Ähnlicher Eintrag: stackoverflow.com/questions/2595442/...
ASCII wird nicht hier tun - es spielt keine Unterstützung für Zeichen mit Akzent. Versuchen UTF-8 statt.

InformationsquelleAutor Philippe Paré | 2013-02-26

Schreibe einen Kommentar