Encoding.UTF8.GetString(Encoding.GetEncoding("gb2312").GetBytes(data));这样看看

解决方案 »

  1.   

    可是我需要的是ASC编码的字节数组
      

  2.   

    byte[]里的每一个不都是ASCII码?
    现在的问题不是要不要ASCII码的问题,而是要那种编码的ASCII的问题,说白了就是文字编码问题。
    常用的编码有gb2312、gbk、utf-8几种,如果在asp.net中建议用utf-8,这也是asp.net应用程序的默认值。
      

  3.   

    Encoding.UTF8.GetString(Encoding.GetEncoding("gb2312").GetBytes(data));
    我这个本来就返回的是字节数组呀~
      

  4.   

    Encoding.UTF8.GetString(Encoding.GetEncoding("gb2312").GetBytes(data)); 
    我这个本来就返回的是字节数组呀~但是编码方式UTF8的呀,这样传到客户端,客户端以ASC编码方式处理中文是"?"
      

  5.   

    Encoding.UTF8.GetString(Encoding.GetEncoding("gb2312").GetBytes(data));
      

  6.   

    Encoding.UTF8.GetString(Encoding.GetEncoding("gb2312").GetBytes(data));
      

  7.   

    Encoding.UTF8.GetString(Encoding.GetEncoding("gb2312").GetBytes(data)); 
    我这个本来就返回的是字节数组呀~这样返回的是String类型
      

  8.   

    destcode 在你这种情况下是ASCII.另,.net中的string是以unicode编码的。unicode和utf8不是一回事。
    还有,如果你定义了ascII为编码。协议中的字符串不可以含有中文,ascII不能给中文编码。byte[] unicodeByte = unicode.GetBytes(youStringMsg);
    byte[] destByte = Encoding.Convert(unicode, destcode, unicodeByte);
      

  9.   

    http://www.yoda.arachsys.com/csharp/unicode.html
    这是一篇很好的介绍.net编码的文章。
      

  10.   

    同意二楼的说法,用gb2312,我以前也遇到过类似的情况,把数据写入到文本文件,VT调用显示出来的是乱码。这应该是编码问题
      

  11.   

    同意二楼的说法,用gb2312,我以前也遇到过类似的情况,把数据写入到文本文件,VT调用显示出来的是乱码。这应该是编码问题问题是客户端只接收ASC码的数据
      

  12.   

    System.Text.Encoding.Default.GetBytes(Data);
    这样行不
      

  13.   

    使用 Encoding.GetEncoding("GB18030").GetBytes(data)来转换试下!
      

  14.   

    试图将含有中文的字符串用ascii编码转换为字节数组是得不到正确结果的。所以你得用其他的编码方式,并且两端得一致
      

  15.   

    试图将含有中文的字符串用ascii编码转换为字节数组是得不到正确结果的。所以你得用其他的编码方式,并且两端得一致在客户端只接收ascii编码时的数据时,服务器端也只能传送该编码的数据过去呀。
      

  16.   

    汉字没有ascii码,怎么能编码成ascii格式?
    你说说你的客户端是怎么着只接收ascii码的。
      

  17.   

    Encoding.UTF8.GetString(Encoding.GetEncoding("gb2312").GetBytes(data));
      

  18.   

    汉字没有ascii码,怎么能编码成ascii格式? 
    你说说你的客户端是怎么着只接收ascii码的。
    应该一开始商定就是说接受ascii码的报文,然后我试过byte[] byteData = Encoding.UTF8.GetBytes(data); 
    和byte[] byteData = Encoding.Default.GetBytes(data);
    或是Encoding.GetEncoding("GB18030").GetBytes(data);
    结果在客户端显示时中文都是?号