我有一个字符串,我想知道它里面是否有 unicode 字符。
(是否完全包含 ASCII)
我怎样才能做到这一点?
Thanks!
如果我的假设是正确的,您想知道您的字符串是否包含任何“非 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 字符的误报。我在我的样本中已经提到了这一点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)