C# WinForm:首先说明,这个string字符串里只有一个字,即Length为1,怎么判断这个单个字是不是Unicode呢?比如:string str;str="a";   //不是Unicodestr="哈"; //是Unicodestr="れ"; //是Unicode我这里所指的Unicode是所有的,不光光指中文字或日文字哦~知道的朋友请给个方法看看,谢谢。

解决方案 »

  1.   

    可以通过Encoder取得其编码格式的吧?
      

  2.   

    char > 255 是Unicode ? 
      

  3.   

    private bool IsChinese(char c)
            {
                return Convert.ToInt32(c) > Convert.ToInt32((char)128);
            } 
    private void button1_Click(object sender, EventArgs e)
            {
              
     char c = '发';
                MessageBox.Show(IsChinese(c).ToString());        }
      

  4.   

    大哥  你上面是获取中文,我要辨别是Unicode和非Unicode
      

  5.   

    而且我参数是单个字的string类型,不是char
      

  6.   

    不用判断...string必定是unicode,.NET中的所有字符都是utf-16编码...unicode包含ascii...
      

  7.   

    哪个告诉你a不是Unicode?打死他
    所有的怎么又不包括a?
      

  8.   

    额~  那我是不是只要判断是否是ASCII编码就行了,我需要的是:阿拉伯数字、英文字母,键盘上的特殊符号(如:~!@#$%^&*()_+|{}[]:";'<>,.?/等)  这些属于一类;而像中文、日文、韩文、以及其他一些火星文等,为一类。--------------------------是不是只要判断是否在ASCII码表示的范围内即可?
      

  9.   

    .NET里全部都是了,原来VC6里不是这样的,呵呵。 VC6里面分的宽字节和窄字节我在C#就想区分是宽字节还是窄字节的
      

  10.   

    判断是否ASCII很简单,只要看char的取值范围就可以了
      

  11.   

    .NET中的字符不可能有ascii编码,如果你想判断一个字符是否可以正常转换为ascii码看看它的数值即可...
    char c='a';
    if(c<256)
    {
    //可以转换为ascii码
    }
      

  12.   

    string str="哈";
    转化成char是不是这样:
    char ch=str.ToCharArray()[0];是不是这样?
      

  13.   

    string str="a";
    if( str[0] < 128 )
    {
       //ascii
    }
      

  14.   

    vrhero和viena的范围怎么不一直,
    vrhero说是256;
    viena说是128 。
      

  15.   

    标准ascii字符集是0-127...扩展ascii字符集是0-255,128-255是扩展ascii字符...
      

  16.   

    不是“阿拉伯数字、英文字母,键盘上的特殊符号(如:~!@#$%^&*()_+|{}[]:";' <>,.?/等)”吗
      

  17.   

    对的 
    128 - 255的字符可以出现在一个站的url里么?0 - 127肯定都是可以的
      

  18.   


    哪个告诉你a不是Unicode?打死他 
    所有的怎么又不包括a?
      

  19.   

    字符编码不是小事啊,眼见为虚就行,本质是一个 coding schema 下的码值.net string / char 都是 u16 的值utf 8 不是编码, 是一种编码的存储形式.