编码方式,妳選擇gb2312或者gb18030嘛。utf-8的,似乎是可以的哦。反正,妳不能夠用ascii。

解决方案 »

  1.   

    System.Text.Encoding.GetEncoding(936).GetString(byte_data);
      

  2.   

    Socket总是发送byte[]
    所以使用合适的Encoding类编码字符为byte[]发送就是了(不要用Encoding.ASCII)
      

  3.   

    是发送问题?
    我用的就是Encoding.ASCII
    谢谢了
    我再试试
      

  4.   

    你在System.Text.Encoding后面选择其他的试试,我以前做的时候,把xml文件用流的形式发送,但传过去就是乱码,后来试了好几种编码,才搞定的,gb2312,你看看先!!
      

  5.   

    System.Text.Encoding.GetEncoding(936).GetString(byte_data);
    System.Text.Encoding.GetEncoding("gb2312").GetString(byte_data);
      

  6.   

    //////////// 发送数
    string s = "发送数据如何处理";
    Socket skt= new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp );
    IPEndPoint remoteend= new IPEndPoint(IPAddress.Parse(strServerIP),23012);
    skt.Connect(remoteend);
    NetworkStream strm = new NetworkStream(skt);
    byte[] cmdbyte = encoding.GetBytes(cmd);
    strm.Write(cmdbyte,0,cmdbyte.Length);
    skt.Close()
    //////////////////// 接受 ///////////////////////////
    byte[] bufbyte = new byte[1000];
    i = xmlstrm.Read(bufbyte,0,1000);
    Encoding coding = new UTF8Encoding();
    string cmdstr = coding.GetString(bufbyte,0,i);
      

  7.   

    这一行错了
    byte[] cmdbyte = encoding.GetBytes(s);
      

  8.   

    To : ncowboy(ncowboy) 我是了几种不行,后来用Encoding.UTF8.GetBytes(String);
    和Encoding.UTF8.ToString(bytes);真的可以哦,谢谢ncowboy(ncowboy) ( ) 也谢谢其他热心的朋友们,有些方法我没有试实际上可能是可以的。