Encoding.Default 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取此 .NET 实现的默认编码。
public:
static property System::Text::Encoding ^ Default { System::Text::Encoding ^ get(); };
public static System.Text.Encoding Default { get; }
static member Default : System.Text.Encoding
Public Shared ReadOnly Property Default As Encoding
属性值
此 .NET 实现的默认编码。
注解
属性的行为 Default 因不同的 .NET 实现而异:
在 .NET Framework 中:返回与系统的活动代码页对应的编码。 这是使用GetEncoding(Int32)参数
codepage调用0时返回的相同编码。在 .NET Core 和更高版本中:始终返回一个 UTF8Encoding 对象。 此行为已更改,以鼓励使用 Unicode 编码,以便更好地实现跨平台兼容性和数据完整性。
对于不同平台和 .NET 实现之间的最一致结果,请考虑直接使用特定的 Unicode 编码,例如 UTF-8,而不是依赖于默认编码。 可以通过调用 Encoding.UTF8 或使用 Encoding.GetEncoding(String) “utf-8”获取 UTF-8 编码。
Warning
不同的计算机可以使用不同的编码作为默认值,并且默认编码可以在单个计算机上更改。 如果使用 Encoding.Default 编码对计算机之间流式传输或在同一台计算机上的不同时间检索的数据进行编码和解码,则可能会错误地转换该数据。 此外,Default 属性返回的编码使用最适合的回退机制,将不受支持的字符映射为代码页所支持的字符。 出于这些原因,不建议使用默认编码。 若要确保正确解码已编码的字节,应使用 Unicode 编码,例如 UTF8Encoding 或 UnicodeEncoding。 还可以使用更高级别的协议来确保使用相同的格式进行编码和解码。
该 Default 属性始终返回 UTF8Encoding. .NET应用运行的所有操作系统(Windows、Linux 和 macOS)都支持 UTF-8。