在C#中,如何检测字符是否为非ASCII字符
本文关键字:字符 是否 ASCII 检测 何检测 | 更新日期: 2023-09-27 18:30:06
我想在C#中检查一个字符是否包含非ASCII字符。检查特殊字符(如志
或Ω
)的最佳方法是什么?
ASCII的范围从0到127,所以只需检查该范围:
char c = 'a';//or whatever char you have
bool isAscii = c < 128;
bool HasNonASCIIChars(string str)
{
return (System.Text.Encoding.UTF8.GetByteCount(str) != str.Length);
}
以防万一有人碰到这个。在dotNET6中,有一种新方法可以检查字符是否为ASCII字符或
public static bool IsAscii (char c);
为了解决这个问题,你可以写
var containsOnlyAscii = str.All(char.IsAscii);
使用LINQ All
方法。
一般来说,您可以使用这种新方法来检查单个字符
var isAscii = char.IsAscii(c);