Вы можете легко проверить, являются ли используемые кодовые точки идеографами Хана.Эти регионы определены в базе данных символов Unicode .
// Warning, this code only works for common Han ideographs inside the BMP. (Surrogate code points will need special care, and additional ranges within the BMP contain rare, historic, and uncommon characters.)
const double hannessThreshold = 0.25d;
const char lowestHanCodepoint = '\u4E00';
const char highestHanCodepoint = '\u9FFF';
string text = myTextBox.Text;
int hanCharacterCount = 0;
foreach (char c in text)
if (lowestHanCodepoint <= c && c <= highestHanCodepoint)
hanCharacterCount++;
double hannessScore = (double)hanCharacterCount / text.Length;
if (hannessScore >= hannessThreshold)
MessageBox.Show("You are typing in Chinese, Japanese, or Korean!");
Однако этого не достаточно, чтобы точно определить, является ли он китайским.Юникод объединяет иероглифы, используемые для китайского, японского и корейского языков, поэтому для их различения потребуется какой-либо лингвистический анализ.
Может быть предоставлена дополнительная помощь, если вы сообщите нам, почему вы хотите это сделать.Возможно, какой-то другой подход был бы лучше.