【问题标题】:Why Encoding.ASCII != ASCIIEncoding.Default in C#?为什么在 C# 中使用 Encoding.ASCII != ASCIIEncoding.Default?
【发布时间】:2009-05-08 06:29:25
【问题描述】:

为什么在 C# 中 Encoding.ASCII != ASCIIEncoding.Default?

【问题讨论】:

    标签: c# encoding character-encoding


    【解决方案1】:

    这是因为ASCIIEncoding 派生自Encoding,其中Default 定义为:

    /// <summary>  
    /// Gets an encoding for the operating  
    /// system's current ANSI code page.  
    /// </summary>  
    public static System.Text.Encoding Default
    { get; }  
    

    所以ASCIIEndcoding.Default实际上返回了操作系统的默认ANSI编码。

    【讨论】:

    • 所以你实际上是在调用 Encoding.Default,没有 ASCIIEncoding.Default。 Resharper(也许还有 FxCop)会警告你。
    • 进一步澄清:Default 属性是一个静态属性,无论您从哪个编码类调用它,它总是从 Encoding 类继承。
    猜你喜欢
    • 1970-01-01
    • 2010-10-07
    • 1970-01-01
    • 2012-09-07
    • 2015-06-08
    • 2014-01-04
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多