日期:2014-05-20  浏览次数:20965 次

紧急!!关于网络传输后字符串比较不出来的问题,高手指点
客户端发送代码

string   msg= "1R ";
byte[]   write=new   byte[1024];
write=System.Text.Encoding.Unicode.GetBytes(msg.ToCharArray());
ns.Write(write,0,write.Length);

服务端接受代码
byte[]   read=new   byte[1024];
ns=tcpc.GetStream();
ns.Read(read,0,read.Length);
string   strout=System.Text.Encoding.Unicode.GetString(read).ToString();
MessageBox.Show(strout);
if(strout== "1R ")
{
    MessageBox.Show( "OK ");
}else
{
    MessageBox.Show( "NO ");
}

比较不出来,始终弹出来是NO,用==   和   equls   都试过了
第一个都是弹出来1R   ,比较后却是NO     请高手指点!!!!!!

------解决方案--------------------
ns.Read(read,0,read.Length);
string strout=System.Text.Encoding.Unicode.GetString(read).ToString();

==>

string strout = new StringReader( read, Encoding.UTF8 ).ReadToEnd();
------解决方案--------------------
1R后来跟的有0x00
显示不出来而已