如何将字符串转换为UTF-8字符串表示

本文关键字:字符串 UTF-8 表示 转换 | 更新日期: 2023-09-27 18:08:59

正如我在标题中提到的。例如:

如果输入看起来像:

FW: Błąd zakładania FA/PA

我希望收到:

=?utf-8?B?Rlc6IELFgsSFZCB6YWvFgmFkYW5pYSBGQS9QQQ==?=

如何将字符串转换为UTF-8字符串表示

在这种特殊情况下 Base64编码的文本存在于MIME编码的字符串中,在B?之后直到下一个?

string mimed = "=?utf-8?B?Rlc6IELFgsSFZCB6YWvFgmFkYW5pYSBGQS9QQQ==?=";
mimed = mimed.Substring(10, mimed.IndexOf("?", 10) - 10);
string result = Encoding.UTF8.GetString(Convert.FromBase64String(mimed));

反向:

result = string.Format("=?utf-8?B?{0}?=", Convert.ToBase64String(Encoding.UTF8.GetBytes(@"FW: Błąd zakładania FA/PA")));