using Newtonsoft.Json.Linq;
public static void Main()
string base64Input = "UHJhbW9kIEFkaHVkZQ==";
string base64WithIso = "UHLCbW9kIMBkaHVkZQ==";
string base64WithASCII = "UHJtb2QgZGh1ZGU=";
Console.WriteLine(Program.Decode(base64Input));
Console.WriteLine(Program.Decode(base64WithIso,"ISO-8859-1"));
Console.WriteLine(Program.Decode(base64WithIso,"ISO-8859-1"));
Console.WriteLine(Program.Decode(base64WithIso,"ISO-8859-1"));
Console.WriteLine(Program.Decode(base64WithIso,"ISO-8859-1"));
Console.WriteLine(Program.Decode(base64WithIso,"ISO-8859-1"));
public static void GetEncodings()
foreach( EncodingInfo ei in Encoding.GetEncodings() ) {
Console.WriteLine("\""+ei.Name+"\",");
public static string Decode(string input,string encoding="")
string result=string.Empty;
if(!string.IsNullOrEmpty(encoding))
var encodingType=Encoding.GetEncoding(encoding);
result=encodingType.GetString(Convert.FromBase64String(input));
result=Encoding.UTF8.GetString(Convert.FromBase64String(input));