Hallo Freunde,
seit zwei Stunden bastel ich an einem typischen Unicode-Problem herum, finde aber keine Lösung.
Ich muß Daten an eine kleine Settop-Box senden (UDP). Die Daten sind durchgehend normale ASCII-Texte, erfordern aber einen spezifischen Header. Dieser Header enthält das ASCII-Zeichen "\xF1" - und dieses macht mich langsam wahnsinnig.
Ich dachte mir in meiner Naivität:
C#-Quelltext
1: 2: 3: 4:
| s = "\x41\xF1"+textBox1.Text; ASCIIEncoding ae = new ASCIIEncoding(); byte[] b = ae.GetBytes(s); client.Send(b, b.Getlength(0)); |
Das Ergebnis in b[] müsste sein: 0x41 0xF1 0x31 0x32 0x33.
Ist es nicht, sondern 0x41 0x3F 0x31 0x32 0x33.
Ist irgendwie logisch, mein \xF1-Zeichen wird ein Unicodezeichen und ASCIIEncoding tut sein bestes - aber falsches. Ich habe auch schon
C#-Quelltext
1:
| s="\x41F1"+textBox1.Text; |
versucht, ohne Erfolg.
Wie mache ich es richtig ?
Lies, was da steht. Denk dann drüber nach. Dann erst fragen.