问号问题,Sockets开发,发送给终端的汉字全是问号......
 //往当前的数据流中写入一行字符串 
 streamWriter.WriteLine(STDT_READ_MSG(),Encoding.ASCII); 
 //刷新当前数据流中的数据 
 streamWriter.Flush(   );   
 STDT_READ_MSG()里是这样: 
 string   strTemp   =    "123abc "; 
 strTemp   +=   ConertStr(myG.SIstring( "号码1 ",4), "Unicode ", "gb2312 "); 
 return   strTemp;   
 其中123abc可以显示,而汉字出来都是问号 
 厂家说是编码是ascii,而其中汉字部分的协议说明是gb2312 
 试了N种了,晕呀. 
 请大家帮忙.谢谢!   
 		///    <summary>  
 		///   从一种编码到另一种编码 
 		///    </summary>  
 		///    <param   name= "str "> 源字符串 </param>  
 		///    <param   name= "From "> From </param>  
 		///    <param   name= "To "> To </param>  
 		///    <returns>  </returns>  
 		string   ConertStr(string   str,   string   From,   string   To) 
 		{   
 			byte[]   bs   =   System.Text.Encoding.GetEncoding(From).GetBytes(str); 
 			bs   =   System.Text.Encoding.Convert(System.Text.Encoding.GetEncoding(From),   System.Text.Encoding.GetEncoding(To),   bs); 
 			string   res   =   System.Text.Encoding.GetEncoding(To).GetString(bs); 
 			return   res;   
 		}   
------解决方案--------------------Encoding.ASCII ->  Encoding.Default // or Encoding.GetEncoding( "GB2312 ")
------解决方案--------------------就是编码要一致。
------解决方案--------------------System.Text.Encoding.BigEndianUnicode.GetBytes()
------解决方案--------------------就是编码要一致。
------解决方案--------------------//往当前的数据流中写入一行字符串 
 streamWriter.WriteLine(STDT_READ_MSG(),Encoding.Default); 
 //刷新当前数据流中的数据 
 streamWriter.Flush( );     
 不要指定gb2312,使用默认的即可 
------解决方案--------------------一般读写stream都是先把要写的字符串通过特定的encoding转换成byte[]。   
 不管是ASCII还是GB2312还是Unicode,最后在传输过程中都是一个一个的字节byte。   
 下边的代码是我刚写的,没经过调试,只是表达大致的意思,你看看有没有用   
 Encoding e = Encoding.GetEncoding( "GB2312 "); 
 string toBeSent =  "我爱中国 "; 
 byte[] bytesToBeSent = e.GetBytes(toBeSent);   
 Stream stream ... 
 stream.Write(bytesToBeSent, 0, bytesToBeSent.Length);
------解决方案--------------------你的终端的程序你你写的吗?如果不是的话,他们用了什么编码方法? 
 如果是的话,你写的两个编码方法一致不   
 其实调试的时候,你无需按实际环境条,先把你的编码解码测试完毕再挪到真实环境调 
------解决方案--------------------直接用Socket对象的Send(Byte[])方法就行了!不要弄那个什么NetWorkStream,很不灵活。
------解决方案--------------------Encoding.Default.GetString(recv)