internal static string To2047(byte[] bytes)
{
var sb = new StringBuilder();
foreach (byte i in bytes)
{
if (i < 0x21 || i > 0x7E || i == '?' || i == '=' || i == '_')
{
sb.Append('=');
sb.Append(hex[(i >> 4) & 0x0f]);
sb.Append(hex[i & 0x0f]);
}
else
sb.Append((char)i);
}
return sb.ToString();
}