ASCIIEncoding在Windows 8 Store应用中不受支持。

4

我在桌面应用中编写的代码可以正常工作,但在Windows 8商店应用中无法工作,因为System.Text不再支持ASCIIEncoding

tagdata是一个byte数组

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

我应该使用UTF8编码吗?我只想将字节数组转换为ASCII文本。
谢谢。
1个回答

10

首先,我建议您在所有地方都使用 Encoding.ASCII 而不是 ASCIIEncoding.ASCII - 后者有些暗示了 ASCII 属性是 ASCIIEncoding 类的成员,但实际上并不是。

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

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接