Cómo codificar y decodificar una cadena en Base64 en C#?
¡Hola a todos! Soy un desarrollador C# principiante y me encontré con una tarea: necesito enviar datos binarios (por ejemplo, una imagen) en JSON, pero JSON solo admite cadenas. He oído que para esto se usa Base64. Pero no puedo encontrar un ejemplo simple y funcional de cómo hacerlo en C#.
Necesito:
1. Tomar una cadena normal (por ejemplo, "Hello, World!") y codificarla en Base64.
2. Luego tomar la cadena codificada en Base64 y decodificarla de vuelta a la cadena original.
Intenté escribir mi propia solución casera, pero no funciona. Vi que en .NET hay algunas clases en `System.Convert` y `System.Text`, pero no entiendo cómo usarlas correctamente.
Aquí está mi código fallido:
```csharp
string original = "Hello, World!";
byte[] bytes = Encoding.ASCII.GetBytes(original);
string encoded = Convert.ToBase64String(bytes);
// Intento de decodificar
byte[] decodedBytes = Convert.FromBase64String(encoded);
string decoded = Encoding.ASCII.GetString(decodedBytes);
```
El código funciona, pero no estoy seguro de que sea correcto.