日期:2014-05-17  浏览次数:21067 次

socket 发送和接收 编码问题。
   byte[] bf;
   bf = Encoding.Default.GetBytes("成功!!!,.;");
   newSocket.Send(bf);

这个用Default发送,接收端也用Default来接收。但是只显示成功。 后面的!!!,.; 这些符号没显示。 UTF8 ASCII  Unicode 都试过不行,请问用什么编码能显示出符号啊?

------解决方案--------------------
接收端:
UdpClient client = new UdpClient(7901);
            IPEndPoint ep = null;
            byte[] data = client.Receive(ref ep);
            string data_receive = Encoding.UTF8.GetString(data);
            Console.WriteLine(data_receive);

发送端:
 UdpClient client = new UdpClient();
            IPEndPoint ep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 7901);
            byte[] bytes = Encoding.UTF8.GetBytes("成功!!!,.;");
            client.Send(bytes, bytes.Length, ep);

效果:

------解决方案--------------------
UTF8是国际标准,基本上所有的字符集都可以。

你的接收代码呢?