代码改变世界

C#验证中文字符

2010-08-31 13:29  ※森林小居※  阅读(567)  评论(1)    收藏  举报

      //获取字符串长度(汉字算2个字符)
        static public int GetStringLength(string szString)
        {
            byte[] sarr = System.Text.Encoding.Default.GetBytes(szString);
            return sarr.Length;//will output as 3+3*2=9
        }
        //获取字符串中汉字的个数
        static public int GetStringLen(string str)
        {
            //获取字符长度,汉字算2个长度,全角字符算2个长度
            int count = 0;
            for (int i = 0; i < str.Length; i++)
            {
                if (IsChina(str[i]))
                    count += 1;//count += 2;
                //    else
                //        count++;
            }
            return count;
        }
        //验证字符是否为汉字
        static public bool IsChina(char chr)
        {
            if (Convert.ToInt32(chr) < Convert.ToInt32(Convert.ToChar(128)))
            {
                return false;
            }
            else
            {
                return true;
            }
        }