用C#,谢谢!送分

解决方案 »

  1.   

    s = "woshi蓝蓝";
      int len = s.Length;//will output as 6
      byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
      len = sarr.Length;//will output as 3+3*2=9
      

  2.   

    中英文是一样长的如果想判断实际长度,调用下面的方法就行了
    /// <summary>
    /// 获得字符串oString的实际长度
    /// </summary>
    public int StringLength(string oString)
    {
    byte[] strArray=System.Text .Encoding.Default .GetBytes (oString);
    int res=strArray.Length ;
    return res;
    }
      

  3.   

    /// <summary>
    /// 这个是返回字符串的前n位,n为字节的数量,可以保证中英文一样长的
    /// </summary>
    public string leftstr(string str,int n)
    {
    string ss="";//返回值
    if (str.Length<=n/2)
    {
    ss=str;
    }
    else
    {
    int t=0;
    char[] tmp=str.ToCharArray();
    for (int i=0;i<str.Length;i++)
    {
    int c;
    //c=Convert.ToInt32(str.Substring(i,1));
    c=(int)tmp[i];
    if (c<0)
    c=c+65536;
    if (c>255)
    t=t+2;
    else
    t=t+1;
    if (t>n)
    break;
    ss=ss+str.Substring(i,1);
    }
    ss=ss+"…";
    }
    return ss;}
      

  4.   

    wagod(天使之恋) 兄是正确的。UP
      

  5.   

    wagod(天使之恋):
    要让你这段程序支持回车和换行字符,应该怎么办?谢谢.