Avatar ·

Conversión de string a byte array en C#: ¿cómo hacerlo correctamente?

Hola a todos. Soy un desarrollador C# principiante y me encontré con un problema al trabajar con solicitudes de red y archivos. Necesito convertir una string normal en un byte array para enviarla a través de un socket o escribirla en un archivo binario. El problema es que no entiendo cuál es la forma correcta. Intenté usar `BitConverter.GetBytes()`, pero devuelve un array donde cada carácter ocupa 4 bytes, lo que claramente no es lo que esperaba. También vi en internet menciones de `Encoding.ASCII.GetBytes()` y `Encoding.UTF8.GetBytes()`. ¿Cuál es la diferencia? Si simplemente escribo `(byte[])myString`, ni siquiera compila. Aquí hay un ejemplo de mi código que no funciona como quiero: ```csharp string message = "Привет, мир!"; byte[] bytes = BitConverter.GetBytes(message); // Error o no es lo que necesito ``` Díganme cómo convertir correctamente una string a un byte array para luego poder restaurarla de vuelta. ¿Y es necesario tener en cuenta la codificación? Agradecería una explicación detallada.