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

时间:2013-01-30 06:49:02

标签: c# windows-store-apps

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

tagdatabyte array

ASCIIEncoding.ASCII.GetString(tagdata).Trim();

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

谢谢。

1 个答案:

答案 0 :(得分:10)

首先,我建议在任何地方使用Encoding.ASCII而不是ASCIIEncoding.ASCII - 后者有点暗示ASCII属性是ASCIIEncoding类的成员,它不是。

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

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

bool isAscii = tagData.All(b => b < 128);