Как поместить «конец текста» (ETX, ASCII 3) в строку? - PullRequest
7 голосов
/ 13 декабря 2010

Мне нужно отправить строку через TPC / IP, и принимающая сторона прослушает строку и прочитает терминатор, который является ASCII 3. Как я могу поместить это в виде простого текста в текстовые поля?

Ответы [ 3 ]

10 голосов
/ 13 декабря 2010

Как сказал Димитров, сделайте что-то вроде

textarea.Text += (Char) 3;

или

String text = textarea.Text + (Char) 3;
6 голосов
/ 13 декабря 2010

Вы не помещаете это в текстовое поле, это двоичный символ. Вы добавите это к значению текстового поля перед отправкой на провод:

var ascii = Encoding.ASCII;
byte[] dataToSend = ascii
    .GetBytes("Some data from textbox")
    .Concat(ascii.GetBytes(new[] { (char)3 }))
    .ToArray();
1 голос
/ 21 августа 2017

Вы также можете использовать шестнадцатеричный строковый литерал :

string text = textbox.Text + "\x3";
...