首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET MailMessage.BodyEncoding和MailMessage.SubjectEncoding默认值

ASP.NET MailMessage.BodyEncoding和MailMessage.SubjectEncoding默认值
EN

Stack Overflow用户
提问于 2011-03-15 13:39:39
回答 1查看 4.6K关注 0票数 2

这个问题很简单,但我在MSDN上找不到答案……

查找ASP.NET将用于以下各项的默认值:

MailMessage.BodyEncodingMailMessage.SubjectEncoding

如果你不在代码中设置它们呢?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-15 16:19:24

对于MailMessage.BodyEncoding,MSDN说:

BodyEncoding属性指定的值设置Content-Type头中的字符集字段。默认字符集为"us-ascii"

对于MailMessage.SubjectEncoding,我也找不到任何记录在案的默认值,但reflector是为了抢救:

代码语言:javascript
复制
internal void set_Subject(string value)
{
    if ((value != null) && MailBnfHelper.HasCROrLF(value))
    {
        throw new ArgumentException(SR.GetString("MailSubjectInvalidFormat"));
    }
    this.subject = value;
    if (((this.subject != null) && (this.subjectEncoding == null)) && 
         !MimeBasePart.IsAscii(this.subject, false))
    {
        this.subjectEncoding = Encoding.GetEncoding("utf-8");
    }
}

MimeBasePart.IsAscii是一个内部方法,它尝试确定传递的值是否为ASCII编码:

代码语言:javascript
复制
internal static bool IsAscii(string value, bool permitCROrLF)
{
    if (value == null)
    {
        throw new ArgumentNullException("value");
    }
    foreach (char ch in value)
    {
        if (ch > '\x007f')
        {
            return false;
        }
        if (!permitCROrLF && ((ch == '\r') || (ch == '\n')))
        {
            return false;
        }
    }
    return true;
}

因此,在大多数情况下,subject的默认编码似乎都是UTF-8

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5307923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档