如果我的假设是正确的,您希望知道您的字符串是否包含任何"非ANSI"字符.您可以按如下方式导出它.
public void test()
{
const string WithUnicodeCharacter = "a hebrew character:\uFB2F";
const string WithoutUnicodeCharacter = "an ANSI character:Æ";
bool hasUnicode;
//true
hasUnicode = ContainsUnicodeCharacter(WithUnicodeCharacter);
Console.WriteLine(hasUnicode);
//false
hasUnicode = ContainsUnicodeCharacter(WithoutUnicodeCharacter);
Console.WriteLine(hasUnicode);
}
public bool ContainsUnicodeCharacter(string input)
{
const int MaxAnsiCode = 255;
return input.Any(c => c > MaxAnsiCode);
}
Update
这将检测扩展ASCII.如果只检测真正的ASCII字符范围(最多127个),那么对于不表示Unicode的扩展ASCII字符,可能会出现误报.我在样本中已经提到了这一点.