如何确定便携式类库中的当前代码页?

时间:2016-10-10 09:12:31

标签: c# encoding .net-core

我正在尝试将一个正在从标准类库中读取文件的类库移植到一个可移植的类库(.NET Standard,Version = v1.6),支持ASP.NET Core。

我需要将字节数组的一部分转换为字符串。

使用.NET Framework 4.5,我可以使用

检测当前代码页
public string ConvertToString(byte[] data, int count)
{
int CurrentCodePage = Thread.CurrentThread.CurrentCulture.TextInfo.OEMCodePage;
return Encoding.GetEncoding(CurrentCodePage).GetString(data, 0, count);
}

分析程序集可移植性工具给了我一个建议:“使用System.Globalization.CultureInfo.CurrentCulture。” 但是没有关于当前代码页的信息。

如何在当前的enconding中将byte []转换为字符串?

修改 我正在移植一个压缩库。在我的情况下,我需要正确地将byte []转换为字符串。在其他q& a(如How convert byte array to string)中,我看到使用编码。我意识到这是错误的做法。如何以正确的方式进行转换?

1 个答案:

答案 0 :(得分:0)

public string ConvertToString(byte [] data,int count) {

返回ASCIIEncoding.ASCII.GetString(data,0,count); }