有大佬知道的吗
try
                    {
                        // base64编码
                        //byte[] b = System.Text.Encoding.UTF8.GetBytes("");
                       // string base64jsons = Convert.ToBase64String(b);
                     //   base64jsons = base64jsons.Replace("+", "%2B");                        // 解码
                        int str = sp.ReadChar();
                        byte[] data = sp.ReadLine().Trim() != null ? Convert.FromBase64String(sp.ReadLine().Trim()) : new byte[0];
                    byte[] datare    =Convert.FromBase64String(Convert.ToBase64String(data));
                    string jsonRes = System.Text.Encoding.UTF8.GetString(datare);
                      //  byte[] data = Convert.FromBase64String(sp.ReadLine());//一次只能读取8个字节
                       // txtReceiveData.Text += Encoding.Unicode.GetString(data);
                       this.txtReceiveData.Text += data;
                    }
                    catch (Exception)
                    {
                        label6.Text = "读取数据时发生错误";
                        return;
                    }
接收的数据不是base-64数据

解决方案 »

  1.   

    很明显你接收数据不对,两句代码,读了三遍
    int str = sp.ReadChar();
    byte[] data = sp.ReadLine().Trim() != null ? Convert.FromBase64String(sp.ReadLine().Trim()) : new byte[0];
      

  2.   

    直接用这个吧!没你想的那么复杂:
    string  retMsg=sp.ReadExisting();
    后面就自己处理了。没那么难!我一直这么用!