ASCIIEncoding在Windows 8 Store应用程序中不支持

Alv*_*vin 4 c# windows-store-apps

我在桌面应用程序中使用此代码,但它在Windows 8 Store应用程序中不起作用,因为System.Text不再具有ASCIIEncoding支持:

tagdata是一个byte array.

ASCIIEncoding.ASCII.GetString(tagdata).Trim();
Run Code Online (Sandbox Code Playgroud)

我应该使用UT8Encoding吗?我只想将字节数组转换为ASCII文本.

谢谢.

Jon*_*eet 10

首先,我建议Encoding.ASCII在任何地方使用而不是ASCIIEncoding.ASCII- 后者有点暗示ASCII属性是ASCIIEncoding类的成员,但事实并非如此.

如果你知道你的字节数组只是ASCII文本,那么你可以使用Encoding.UTF8自由,因为每个出现在ASCII字符表示在这两个UTF-8和ASCII相同的方式.

如果要首先检查有效性,只需检查数组中的每个字节是否小于128

bool isAscii = tagData.All(b => b < 128);
Run Code Online (Sandbox Code Playgroud)