string msg = "这是一个测试!"; 
byte[] tempBytes = Encoding.ASCII.GetBytes(msg); 
string tempString = Encoding.ASCII.GetString(tempBytes);
List3.Text = tempString;
为什么显示的都是 ???  怎么显示汉字呢? tempBytes 要在网络传输。 所以必须要byte[]

解决方案 »

  1.   

    byte[] tempBytes = Encoding.GetEncoding("GB2312").GetBytes(msg); 
    string tempString = Encoding.GetEncoding("GB2312").GetString(tempBytes);
      

  2.   

    汉字用两个字节表示的,
    byte是单字节的,所以原因……
      

  3.   

    byte[] tempBytes = Encoding.ASCII.GetBytes(msg); //用错了编码,ASCII只包含了128个字符。可以使用UTF8。这个方法
     fangxinggood(JustACoder) ( ) 信誉:106  2006-3-15 16:42:07  得分: 0  
     
     
       
    byte[] tempBytes = Encoding.GetEncoding("GB2312").GetBytes(msg); 
    string tempString = Encoding.GetEncoding("GB2312").GetString(tempBytes);  
     
    也是正确的。