use*_*557 0 c# string byte bytearray
有没有办法检查 byte[] 中的字节是否是有效字符串,因此它是否仅包含 ASCII 字符。
if (isValidASCII(myByteArray)) {
....
}
Run Code Online (Sandbox Code Playgroud)
我可以像上面的例子一样使用但具有功能性的东西。
那么,如果
仅包含 ASCII 字符
表示带有代码的符号[32..127](对应的字符是[' '..'~']) - 标准 ASCII 表字符,不包括命令字符:
Boolean isAscii = myByteArray.All(b => b >= 32 && b <= 127)
Run Code Online (Sandbox Code Playgroud)
但是,像这样定义的有效字符串很可能是
"$d|1 ?;)y" // this is a valid ASCII characters based string
Run Code Online (Sandbox Code Playgroud)
或类似。如果你想把这个简单的Linq包装成一个方法:
public static bool isValidASCII(IEnumerable<byte> source) {
if (null == source)
return true; // or false, or throw exception
return source.All(b => b >= 32 && b <= 127);
}
...
if (isValidASCII(myByteArray)) {
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4687 次 |
| 最近记录: |