把N个汉字放入一个数组byte[] buf,每四个汉字存一个数组byte[] xx,第一个字到第四个字是byte[] xx1,第五个字到第八个字byte[] xx2,第九个到第十二个byte[] xx3·······这样的代码怎么来写,谢谢。

解决方案 »

  1.   

    byte[] buf
    for (int i=0;i<buf.length,i=i+4)
    {
        //这样里面进行操作
    }
      

  2.   

                string strtext = "每四个汉字存一个数组byte";
                string strlist = "";
                ArrayList arrlist = new ArrayList();
                for (int i = 0; i < strtext.Length - 1; i++)
                { 
                
                    string strtmp=strtext.Substring (i,1);
                    strlist += strtmp;
                    if (i>0 && i % 4==0)
                    {
                        arrlist.Add(strlist);
                        strlist = "";
                    }               
                }
                arrlist.Add(strlist);
      

  3.   


    public ArrayList GetCharBytes(string src)
    {
        if (src == null || src.Length == 0)
        {
            return null;
        }    ArrayList list = new ArrayList(); 
        for (int i = 0; i  < src.Length; i+=4) 
        {
            if(i+4 >= src.Length)
            {
                list.Add(Encoding.Default.GetBytes(src.SubString(i, strtext.Length-i-1)));
            }
            list.Add(Encoding.Default.GetBytes(src.SubString(i, 4)));
        }
        return list
    }
      

  4.   

    上面的代码漏了一句,下面是重写过的。public ArrayList GetCharBytes(string src)
    {
        if (src == null || src.Length == 0)
        {
            return null;
        }    ArrayList list = new ArrayList(); 
        for (int i = 0; i  < src.Length; i+=4) 
        {
            if(i+4 > src.Length)
            {
                list.Add(Encoding.Default.GetBytes(src.SubString(i, strtext.Length-i-1)));
            }
            else
            {
                list.Add(Encoding.Default.GetBytes(src.SubString(i, 4)));
            }
        }
        return list
    }