当前位置:编程学习 > C#/ASP.NET >>

c#判断字符串是否是中文问题

public bool CheckChinese(string str)
        {
            bool flag = false;
            UnicodeEncoding a = new UnicodeEncoding();
            byte[] b = a.GetBytes(str);
            for(int i=0;i<b.Length;i++)
            {
                i++;
                if (b[i] != 0)
                {
                    flag = true;
                }
                else
                {
                    flag = false;
                }
            }
            return flag;
        }
这段代码为什么能实现判断是否为中文,求详细解释,可以加分,详细。。 --------------------编程问答-------------------- 你找个字符串试下 输出下byte数组中每个值看下 --------------------编程问答--------------------
引用楼主 jiajianzheng 的回复:
public bool CheckChinese(string str)
        {
            bool flag = false;
            UnicodeEncoding a = new UnicodeEncoding();
            byte[] b = a.GetBytes(str);
            for(int i=……

你先了解一下UnicodeEncoding吧 --------------------编程问答-------------------- YES
引用 2 楼 chinajiyong 的回复:
引用楼主 jiajianzheng 的回复:
public bool CheckChinese(string str)
{
bool flag = false;
UnicodeEncoding a = new UnicodeEncoding();
byte[] b = a.GetBytes(str);
for(int i=……

你先了解一下UnicodeEncoding吧
--------------------编程问答-------------------- --------------------编程问答--------------------


  public static bool IsChinese(string str)
        {

            Regex re = new Regex("^[\\u4e00-\\u9fa5]+$", RegexOptions.None);

            if (re.IsMatch(str))
            {
                return true;
            }
            else
            {
                return false;
            }

        }


--------------------编程问答-------------------- +1
引用 5 楼 porschev 的回复:
C# code



  public static bool IsChinese(string str)
        {

            Regex re = new Regex("^[\\u4e00-\\u9fa5]+$", RegexOptions.None);

            if (re.IsMatch(str))
            {
……
--------------------编程问答-------------------- 最靠谱的办法是判断词频
比如“大丈夫”既可以是中文也可以是日文 --------------------编程问答-------------------- --------------------编程问答-------------------- 看一下编码的方式就明白了,ascii,utf-8,gb2312,汉字占几个字节...... --------------------编程问答-------------------- 字符串“是”中文?这怎么判断?

是包含中文字符吧?!那么写一个foreach(char c in str)然后找到第一个c的值在中文字范围就可以立刻返回true了。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,