我有一个字节数组。每个字节的8位值是我想要的字符串中的字符。您可以将我的8位值视为ASCII,ANSI,UTF-8,ISO-8859-1,每日温度读数,距离线上一点的距离(以英寸为单位)或任何您想要的值。这无关紧要等我做完了在我的字符串中位置N处的字符应该与位置N处的字节具有相同的值。也就是说,高阶8位应该是0,低阶8位应该与源字节相同。我使用什么编码简单地将字节Map到字符而不做任何更改?
chhkpiq41#
对于这个需求,我会省去编码,因为我不知道它们做什么的细节,只是自己转换字节。
string Convert(byte[] data) { char[] characters = data.Select(b => (char)b).ToArray(); return new string(characters); }
hgqdbh6s2#
您所询问的编码称为“ISO/IEC 8859-1”。如果您使用的是.NET 5.0或更高版本,标准库将在Encoding.Latin1属性中提供该编码。如果您使用的是旧的运行时,请使用代码页参数1252调用GetEncoding方法
1252
r7knjye23#
如何使用extended ASCII?
Encoding.GetEncoding(437).GetString(bytes);
3条答案
按热度按时间chhkpiq41#
对于这个需求,我会省去编码,因为我不知道它们做什么的细节,只是自己转换字节。
hgqdbh6s2#
您所询问的编码称为“ISO/IEC 8859-1”。
如果您使用的是.NET 5.0或更高版本,标准库将在Encoding.Latin1属性中提供该编码。
如果您使用的是旧的运行时,请使用代码页参数
1252
调用GetEncoding方法r7knjye23#
如何使用extended ASCII?