想请教一下各位大侠,关于字符长度的计算,在asp.net中要用什么编码才是“英文1个字符,中文2个字符”
因为在做一个注册页面,其中用户名需要4-10个字符,汉字占2个字符
直接用txtUserName.Text.Length,取出来的长度汉字也是1个字符
而用Encoding.Unicode .GetBytes(txtUserName.Text).Length,取出来的长度,汉字跟英文都用2个字符表示
想问一下,有没有方法可以满足我的要求呢?

解决方案 »

  1.   

    一般说的字符就是Bytes的,
        额。
      

  2.   

    给你段代码相信你可以看懂
                string strtmp = "ascd某某";
                int i = System.Text.Encoding.Default.GetBytes(strtmp).Length;
                Console.WriteLine(i);
      

  3.   

    这是应用程序下面的.你改成web就行了。
      

  4.   

    改成
     string userName = txtUserName.Text;
     int userNameLegth = System.Text.Encoding.Default .GetBytes(txtUserName.Text).Length ;
    就可以满足我的要求了
    谢谢你了