asp.Net文字列が中国語かどうかを判断する方法

840 ワード

任意の文字はunicode符号化で2バイトを占有します.一般的な符号化方式では、英語の文字は1バイトで表すことができ、中国語は2つである.このように英語の文字はunicode符号化で役に立たないバイトを1つ多く占有し、この役に立たないバイトは0で置き換えられる.unicode符号化の文字の最初のバイトが0であれば、彼は英語の文字です.0でなければ、彼は英語の文字以外の多くの言語の文字かもしれません.中国語だけではありません.
 
  
View Code

public bool CheckChinese(string str)
        {
            bool flag = false;
            UnicodeEncoding a = new UnicodeEncoding();
            byte[] b = a.GetBytes(str);
            for(int i=0;i            {
                i++;
                if (b[i] != 0)
                {
                    flag = true;
                }
                else
                {
                    flag = false;
                }
            }
            return flag;
        }