如何将byte []转换为String,不进行编码,不丢失数据

时间:2013-04-12 22:13:54

标签: c# .net

我有一个字节数组。每个字节的8位值是我想要的字符串中的字符。您可以将我的8位值视为ASCII,ANSI,UTF-8,ISO-8859-1,每日温度读数,距离线上一点的距离,或任何您想要的距离。这是无关紧要的。

当我完成的时候。我的String中位置N处的char应该与位置N处的字节具有相同的值。也就是说,高位8位应该是0,低位8位应该与源字节相同。

我使用什么编码只是简单地将字节映射到字符而没有变化?

3 个答案:

答案 0 :(得分:18)

对于这个要求,我会省去编码,因为我不知道他们做什么的细节,只是自己转换字节。

string Convert(byte[] data)
{
    char[] characters = data.Select(b => (char)b).ToArray();
    return new string(characters);
}

答案 1 :(得分:2)

您询问的编码称为“ISO/IEC 8859-1”。

答案 2 :(得分:-1)

如何使用extended ASCII

Encoding.GetEncoding(437).GetString(bytes);