Comment convertir un tableau d'octets UTF-8 (byte[]) en chaîne (string) en C# ?
Bonjour à tous ! Je suis débutant en C# et j'ai rencontré un problème en travaillant avec des données réseau. J'ai une méthode qui reçoit un tableau d'octets (byte[]) depuis un socket TCP. Je sais que ces octets sont encodés en UTF-8, et j'ai besoin de les convertir en une chaîne (string) normale pour l'afficher dans la console ou la traiter plus loin.
Voici un exemple de code que j'ai :
```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(); // J'obtiens "System.Byte[]"
Console.WriteLine(result);
```
Évidemment, `data.ToString()` ne fonctionne pas — il retourne le nom du type, pas le contenu. J'ai essayé d'utiliser `Convert.ToBase64String()`, mais cela donne une chaîne en base64, pas en texte lisible. J'ai aussi essayé de simplement caster en string avec (string)data — le compilateur râle.
Je sais qu'il existe une classe `Encoding` dans .NET, mais je ne comprends pas comment l'utiliser correctement. Pouvez-vous m'indiquer comment convertir correctement et en toute sécurité un byte[] UTF-8 ?