public static void Main()
var plainText = "Hello World!";
var originalBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
var base64 = System.Convert.ToBase64String(originalBytes);
Console.WriteLine("Base64-encoded: " + base64);
var encodedBytes = System.Convert.FromBase64String(base64);
var decodedText = System.Text.Encoding.UTF8.GetString(encodedBytes);
Console.WriteLine("Base64-decoded: " + decodedText);
Console.WriteLine("Now, we'll try to decode this invalid Base64 string (with unnecessary padding): " + base64);
encodedBytes = System.Convert.FromBase64String(base64);
decodedText = System.Text.Encoding.UTF8.GetString(encodedBytes);
Console.WriteLine("Base64-decoded: " + decodedText);
Console.WriteLine("Couldn't decode the string");
plainText = "Hello World";
originalBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
base64 = System.Convert.ToBase64String(originalBytes);
Console.WriteLine("Base64-encoded: " + base64);
base64 = base64.Substring(0, base64.IndexOf('='));
Console.WriteLine("Now, we'll try to decode this invalid Base64 string (without necessary padding): " + base64);
encodedBytes = System.Convert.FromBase64String(base64);
decodedText = System.Text.Encoding.UTF8.GetString(encodedBytes);
Console.WriteLine("Base64-decoded: " + decodedText);
Console.WriteLine("Couldn't decode the string");