我想向我的应用程序发送的电子邮件添加自定义标头。标头名称只能包含 ASCII 字符,但对于值和用户可能会输入 UTF-8 字符,我必须对它们进行 Base64 编码。此外,我还必须将它们解码回 UTF-8,以便在 UI 中向用户显示它们。
最好的方法是什么?
要将 .net 字符串转换为 Base 64,请使用 UTF8 作为基础编码:
string base64 = Convert.ToBase64String(Encoding.UTF8.GetBytes(text));
并反转该过程:
string text = Encoding.UTF8.GetString(Convert.FromBase64String(base64));
完全可以跳过 UTF8 步骤。但是,UTF8 通常会产生比 UTF16 更小的有效负载,因此我建议使用 UTF8 作为底层编码。
当您说用户可以输入 UTF8 字符时,我不确定您的意思。 .net 框架使用 UTF16 作为其工作字符串编码。您在 .net 中使用的字符串始终使用 UTF16 编码。也许您只是想说文本可以包含非 ASCII 字符。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)