Comment encoder et décoder une chaîne en Base64 en C# ?
Bonjour à tous ! Je suis un développeur C# débutant et j'ai rencontré un problème en travaillant avec Base64. Je dois transmettre des données via une API sous forme de chaîne, et j'ai décidé d'utiliser Base64 pour l'encodage.
J'ai écrit ce code :
```csharp
string original = "Привет, мир!";
byte[] bytes = Encoding.UTF8.GetBytes(original);
string encoded = Convert.ToBase64String(bytes);
Console.WriteLine(encoded); // affiche quelque chose comme "0J/RgNC40LLQtdGCLCDQvNC40YAh"
```
Pour le décodage, j'ai essayé de faire ceci :
```csharp
string decoded = Convert.FromBase64String(encoded).ToString();
Console.WriteLine(decoded); // affiche "System.Byte[]"
```
Évidemment, ce n'est pas correct. Je comprends que `Convert.FromBase64String` retourne un tableau de bytes, et non une chaîne. Mais comment convertir correctement ce tableau en une chaîne lisible ?
Je m'intéresse également aux points suivants :
1. Dois-je utiliser `Encoding.UTF8` ou puis-je utiliser autre chose ?
2. Que faire si la chaîne contient des caractères non supportés par ASCII ?
3. Y a-t-il