telnet 连接到 172.18.0.1
显示:Username:通过编程方式连接过去却显示乱码,请高手帮帮我吧 谢谢private void button1_Click(object sender, EventArgs e)
        {
            TcpClient t = new TcpClient(AddressFamily.InterNetwork);
            IPAddress ip = IPAddress.Parse("172.18.0.1");
            t.Connect(ip, 23);
            NetworkStream stream = t.GetStream();
            Byte[] buffer = new Byte[32767];
            Int32 bytes = stream.Read(buffer, 0, buffer.Length);
            String responseData = String.Empty;
            responseData = System.Text.Encoding.ASCII.GetString(buffer,0,bytes);
            Text = responseData.ToString();
        }

解决方案 »

  1.   

    System.Text.Encoding.GetEncoding("GB2312").GetString(buffer,0,bytes);  
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 最新版本:20070210http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
      

  2.   

    System.Text.Encoding.GetEncoding这个根据具体的情况 也可能是 UTF-8
      

  3.   

    楼上两位大哥 不行啊我访问的远程主机是 Cisco System
      

  4.   

    多试几种编码看看
    responseData = System.Text.Encoding.UTF8.GetString(buffer,0,bytes);responseData = System.Text.Encoding.Unicode.GetString(buffer,0,bytes);
      

  5.   

    循环遍历所有Encode,找到适合你的encode
    EncodingInfo[] encodes = System.Text.Encoding.GetEncodings();
     for (int i = 0; i < encodes.Length; i++)
     {
        Console.WriteLine(encodes[i].Name + " : " + encodes[i].GetEncoding().GetString(data));
      }
      

  6.   

    Cisco System 是不是变相的linux?