Я не знаю, все ли данные перед отправкой преобразуются в байты в любом случае
Когда вы вызываете Write () или Send () с помощью сетевого API, вы обычно получаете опциючтобы обеспечить много типов данных, будь то строка или байт [] или целое число - но это не влияет на физическую передачу данных.
Внутренне передача будет «сериализована» эффективным образом(как двоичный поток), но вам не нужно заботиться об этих деталях.
Поскольку другой конец сможет обрабатывать эти данные как байты [], или int [], или строку.
Распространенная проблема, с которой вы, возможно, захотите разобраться, это endianness или проверка того, как вы изменяете свою строку в байт [].то есть проблемы, когда вы переключаетесь между строками, или разные байты [] и т. д. неправильно.Вы можете прочитать в System.Text.Encoding , чтобы проверить, правильно ли вы перемещаетесь между байтом [] и строкой.
//Turn a string into a byte[], for your PC app to send
byte[] byteData = System.Text.Encoding.ASCII.GetBytes("Message");
//On the other end read that byte[] into ASCII characters
char[] charsData = System.Text.Encoding.ASCII.GetChars(byteData);
//Check you read something, and turn those chars into a string.
if (charsData != null && charsData.Length > 0)
string stringData = new string(chars);