情况如下:
发过来的字节序可以解析成明文,有明文解析代码。
现在要做的是 把明文再原路返回字节序明文:00000008{Code:1}
明文解析代码:
            //前四个字节代表长度
            var headerData = new byte[4];
            Array.Copy(header, offset, headerData, 0, 4);            //得到长度 nLen 此时等于:8
                int nLen = BitConverter.ToInt32(headerData, 0) - 4;
                byte[] byteBodyData = new byte[nLen];
                Array.Copy(bodyBuffer, offset, byteBodyData, 0,nLen);            //得到内容 strBodyData 此时等于: {Code:1}
                string strBodyData = nLen.ToString("D8") + System.Text.Encoding.UTF8.GetString(byteBodyData);现在要将明文  00000008{Code:1}  原路返回byte[]。
·················································································

解决方案 »

  1.   

    var header = BitConverter.GetBytes(Int32.Parse(strBodyData.Substring(0,8)));
    var bodyBuffer = System.Text.Encoding.UTF8.GetBytes(strBodyData.Substring(8));
      

  2.   


           //反推
            static void Test2(string strBodyData, out byte[] header, out byte[] bodyBuffer)
            {
                long nLen = Int64.Parse(strBodyData.Substring(0, 8));
                header = BitConverter.GetBytes(nLen + 4);
                bodyBuffer = System.Text.Encoding.UTF8.GetBytes(strBodyData.Substring(8,(int)nLen));
            }