using System;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
string msg= "=?windows-1258?B?UkU6IFRyIDogUGxhbiBkZSBjb250aW51aXTpIGQnYWN0aXZpdOkgZGVz?= =?windows-1258?B?IHNlcnZldXJzIFdlYiBHb1ZveWFnZXN=?=";
var charSetOccurences = new Regex(@"=\?.*?\?B\?.*?\?=", RegexOptions.IgnoreCase);
var charSetMatches = charSetOccurences.Matches(msg);
foreach (Match match in charSetMatches)
{
string charSet = match.Groups[0].Value.Replace("=?", "").Replace("?B?", "").Replace("?b?", "");
Console.WriteLine(charSet);
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CnB1YmxpYyBjbGFzcyBUZXN0CnsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKICAgIHsgICAKICAgICAgICBzdHJpbmcgbXNnPSAiPT93aW5kb3dzLTEyNTg/Qj9Va1U2SUZSeUlEb2dVR3hoYmlCa1pTQmpiMjUwYVc1MWFYVHBJR1FuWVdOMGFYWnBkT2tnWkdWej89ID0/d2luZG93cy0xMjU4P0I/SUhObGNuWmxkWEp6SUZkbFlpQkhiMVp2ZVdGblpYTj0/PSI7CiAgICAgICAgdmFyIGNoYXJTZXRPY2N1cmVuY2VzID0gbmV3IFJlZ2V4KEAiPVw/Lio/XD9CXD8uKj9cPz0iLCBSZWdleE9wdGlvbnMuSWdub3JlQ2FzZSk7CiAgICAgICAgdmFyIGNoYXJTZXRNYXRjaGVzID0gY2hhclNldE9jY3VyZW5jZXMuTWF0Y2hlcyhtc2cpOwogICAgICAgIGZvcmVhY2ggKE1hdGNoIG1hdGNoIGluIGNoYXJTZXRNYXRjaGVzKQogICAgICAgIHsKICAgICAgICAgICAgc3RyaW5nIGNoYXJTZXQgPSBtYXRjaC5Hcm91cHNbMF0uVmFsdWUuUmVwbGFjZSgiPT8iLCAiIikuUmVwbGFjZSgiP0I/IiwgIiIpLlJlcGxhY2UoIj9iPyIsICIiKTsKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoY2hhclNldCk7CiAgICAgICAgfQogICAgfQp9