C# · 12月 23, 2021

c# – 如何确定便携式类库中的默认编码?

使用.NET 4.6,我可以使用以下方法检测当前代码页: System.Text.Encoding.Default

现在我正在尝试将一个正在从标准类库中读取文件的类库移植到一个可移植类库,支持ASP.NET Core 5.使用此配置,无法使用Encoding.Default.

当然,任何最近的文件都应该以UTF-8编码保存,但我不能确保所有文件都以这种编码存储.

有没有其他方法来获取默认代码页?

我查看了the reference source,发现使用Win32 Api调用实现了Encoding.Default(更少)

解决方法 根据此处的文档: Encoding.GetEncoding Method (Int32),您可以使用Encoding.GetEncoding(0)来获取默认编码.