我在桌面应用程序中使用此代码,但它在Windows 8 Store应用程序中不起作用,因为System.Text不再支持ASCIIEncoding
:
tagdata
是byte array
。
ASCIIEncoding.ASCII.GetString(tagdata).Trim();
我应该使用UT8Encoding吗?我只想将字节数组转换为ASCII
文本。
谢谢。
答案 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);