string s = "adbjdlfjdl哈哈dfldjl";
byte[] arr = System.Text.Encoding.Default.GetBytes(s);这样就不管是什么(英文汉字了)都每个字符都在这个数组里面

解决方案 »

  1.   

    byte[] 设定一个byte数组,然后把他们存进去就好了
      

  2.   

    楼主的意思是不是String中的字符个数,而string中一个汉字是一个字符的
      

  3.   


     有可能出现eboywy(飞影)说的情况,
     那你只能写函数自己逐字判断了... 可以采用正则表达式...
      

  4.   

    /// <summary>
    /// 拆分字符串
    /// </summary>
    /// <param name="pString">要拆分的字符串</param>
    /// <param name="pLen">拆分长度</param>
    /// <returns></returns>
    private ArrayList SplitString(string pString,int pSplitLen)
    {
    ArrayList mAList=new ArrayList(); 
    string mBtyeStr="";//要拆分字符串的每个字符
    string mSplitStr="";//拆分的每一个字符串
    byte[] mBytes;
    int iSplitStrLen=0;//拆分的每一个字符串当前长度
    for(int i=0;i<pString.Length;i++)
    {
    mBtyeStr=pString.Substring(i,1); 
    mBytes=System.Text.Encoding.GetEncoding("gb2312").GetBytes(mBtyeStr);
    iSplitStrLen+=mBytes.Length; 
    if(iSplitStrLen<=pSplitLen*2)
    {
    mSplitStr+=mBtyeStr;
    }
    else
    {
    mAList.Add(mSplitStr); 
    iSplitStrLen=0;
    i--;
    mSplitStr="";
    }
    }
    mAList.Add(mSplitStr);
    return mAList; 
    }
    ---------------------------------------------------------------------
    这是我写的解决相同问题的代码,就是循环来进行匹配最接近的宽度,好像没有其他太好的办法
      

  5.   

    顶了
    我也想知道
    楼主要是指到了一定要告诉我阿
    qq 275037227
    email  [email protected]
      

  6.   

    string source = "ab1242345cd234正则表达234asde12311dfgsaa456我是中国人";

    int i = source.Length;for (int j =0; j<i; j+=21)
    {
    source = source.Insert(j,"\n");
    i++;
    }source = source.Remove(0,1);
      

  7.   

    protected string stringConvert(string inputString,int len)
    {
    //编码类型
    ASCIIEncoding ascii =  new ASCIIEncoding();
    int tempLen=0;
    string tempString="";
    //编码
    byte[] s = ascii.GetBytes(inputString);
    for(int i=0;i<s.Length;i++)
    {
    if((int)s[i]==63)
    {
    tempLen+=2;
    }
    else
    {
    tempLen+=1;
    }           
    try
    {
    tempString+=inputString.Substring(i,1);
    }
    catch
    {
    break;
    }
    if(tempLen>len)
    break;
    }
    byte[] mybyte=System.Text.Encoding.Default.GetBytes(inputString);
    return tempString;
    }
      

  8.   

    我要的结果:
        比如有一字符串"1234对您的言行负责234sd345sd对您的言行负责ssa45erdgfghjbvbmghj"
    要在长度一定(字节)的地方加入换行符,以使每一行的长度一样。各位大侠,有会的把代码贴一下。