Avatar ·

Cómo convertir un array de bytes UTF-8 (byte[]) a string en C#?

¡Hola a todos! Soy nuevo en C# y me encontré con un problema al trabajar con datos de red. Tengo un método que recibe un array de bytes (byte[]) desde un socket TCP. Sé que estos bytes están codificados en UTF-8 y necesito convertirlos a una string normal para imprimir en la consola o procesarlos más. Aquí hay un ejemplo del código que tengo: ```csharp byte[] data = new byte[] { 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100 }; // "Hello World" en UTF-8 string result = data.ToString(); // Obtengo "System.Byte[]" Console.WriteLine(result); ``` Obviamente, `data.ToString()` no funciona — devuelve el nombre del tipo, no el contenido. Intenté usar `Convert.ToBase64String()`, pero eso da una string en base64, no en formato legible. También intenté simplemente convertir a string con (string)data — el compilador se queja. Sé que en .NET existe la clase `Encoding`, pero no entiendo cómo aplicarla correctamente. Por favor, indíquenme cómo convertir byte[] UTF-8 de manera correcta y segura.