socket接收中文后,可能会发生乱码,这个时候可以尝试使用:

            byte[] recvData = new byte[1024];
            recvLen = socket.ReceiveFrom(recvData, ref clientEnd);
            //recvStr = Encoding.UTF8.GetString(recvData, 0, recvLen);
            //recvStr = Encoding.Default.GetString(recvData, 0, recvLen);
            //recvStr = Encoding.ASCII.GetString(recvData, 0, recvLen);
            //recvStr = Encoding.BigEndianUnicode.GetString(recvData, 0, recvLen);
            recvStr=Encoding.GetEncoding("GB2312").GetString(recvData, 0, recvLen);

在接收的时候转一下 国标2312 即可

posted on 2025-04-03 15:10  凌落成迷  阅读(37)  评论(0)    收藏  举报