有个类似邮件接受的东西:
发送方是这样写下的:string s="中华人民共和国";
byte[] by=system.text.encoding.ascii.getbytes(s.tochararray());  然后就发送出来了,因该是由于ASCII码的原因,我接受到在转字符串就是看不懂的东西了.前提是:
  如果在发送方不变的情况下,我如何才能得到原来的内容,劳烦知道的帮忙解答一下,最好是
写出现成代码供参考,先谢过了!

解决方案 »

  1.   

    接受到byte[]后,再用ASCII方式解码
      

  2.   

    用了,如果发中文结出来是是看不懂的东西,Unicode的也不行
      

  3.   

    change
    string s="中华人民共和国";
    byte[] by=system.text.encoding.ascii.getbytes(s.tochararray());with
    string s="中华人民共和国";
    byte[] by=System.Text.Encoding.GetEncoding("gb2312").GetBytes(s);
      

  4.   

    发中文最好用Unicoding编码和解码
      

  5.   

    用这个试试System.Text.UnicodeEncoding
      

  6.   

    用ASCII肯定不行,用unicode就好了
      

  7.   

    System.Text.Encoding.GetEncoding("GB2312").GetBytes(s);
      

  8.   

    byte[] by=System.Text.Encoding.GetEncoding("gb2312").GetBytes(s);
      

  9.   

    string s="中华人民共和国";
    byte[] by=system.text.encoding.ascii.getbytes(s.tochararray());不好意思,这句话是不让变动的,只能变动接收的代码,就是想办法把受到的ASCII字节数组变成
    能显示中文的字符串!
      

  10.   

    string s="中华人民共和国";
    byte[] by = System.Text.Encoding.ASCII.GetBytes(s.ToCharArray());
    Response.Write(by.Length.ToString() + "<br>");
    by的长度是7,而s的字节长度应该是14
    是不是编码过程中,高位字节被丢弃,损失了精度