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.
No answers yet.
Inicia sesión para dejar una respuesta