我有这个代码在桌面应用程序中工作,但它在 Windows 8 Store 应用程序中不起作用,因为 System.Text 不再ASCIIEncoding
支持:
tagdata
是一个byte array
。
ASCIIEncoding.ASCII.GetString(tagdata).Trim();
我应该使用 UT8Encoding 吗?我只想将字节数组转换为ASCII
文本。
谢谢你。
我有这个代码在桌面应用程序中工作,但它在 Windows 8 Store 应用程序中不起作用,因为 System.Text 不再ASCIIEncoding
支持:
tagdata
是一个byte array
。
ASCIIEncoding.ASCII.GetString(tagdata).Trim();
我应该使用 UT8Encoding 吗?我只想将字节数组转换为ASCII
文本。
谢谢你。
首先,我建议使用Encoding.ASCII
到处而不是ASCIIEncoding.ASCII
- 后者在某种程度上暗示该ASCII
属性是ASCIIEncoding
该类的成员,但事实并非如此。
如果您知道您的字节数组只是ASCII 文本,那么您可以Encoding.UTF8
自由使用,因为 ASCII 中存在的每个字符在 UTF-8 和 ASCII 中都以相同的方式表示。
如果要先检查有效性,只需要检查数组中的每个字节是否小于 128
bool isAscii = tagData.All(b => b < 128);