.net 验证ASCII字符的字符串

.net 验证ASCII字符的字符串,.net,character-encoding,ascii,.net,Character Encoding,Ascii,我正在编写一个需要字节数组作为输入的函数。此输入数组应表示有效的ASCII字符串 我正试图找出一种方法来验证上述要求。如果有任何区别,数组的长度应该是8字节 我考虑过检查每个字节是否在ASCII范围内,但对于多个字节的字符不起作用 我还看到.NETEncoding.ASCII.getString()可以解析字节,并为任何无效字符返回'?'。是否有一个函数可用于获取布尔指示验证 任何想法都值得赞赏。谢谢。如果ASCII表示字符0-127,则可以非常简单地验证它: if (bytes.All(b =

我正在编写一个需要字节数组作为输入的函数。此输入数组应表示有效的ASCII字符串

我正试图找出一种方法来验证上述要求。如果有任何区别,数组的长度应该是8字节

我考虑过检查每个字节是否在ASCII范围内,但对于多个字节的字符不起作用

我还看到.NET
Encoding.ASCII.getString()
可以解析字节,并为任何无效字符返回
'?'
。是否有一个函数可用于获取布尔指示验证


任何想法都值得赞赏。谢谢。

如果ASCII表示字符0-127,则可以非常简单地验证它:

if (bytes.All(b => b < 128))
if(bytes.All(b=>b<128))

如果您指的是许多8位编码中的一种,那么就没有无效的字节序列。

对于ASCII,您指的只是较低的7位?我认为ASCII没有任何多字节的字符。检查?真的没有帮助吗?也可以是有效的ASCII?。ASCII没有任何多字节字符,但我如何知道一个字节是自己的还是另一个字符集中多字节字符的一部分?您没有。除非你知道编码,否则你无法解码。我不想解码。我只想确定bytes集合是否表示有效的ASCII字符串?也许这不可能?