有一串c++程序通过socket发送过来的字符串,包含中文字,假设为"中1国2人3",
ASCII方式编码(中文字占据两字节,数字和英文字占据1字节),请问如何转化为string,谢谢!!

解决方案 »

  1.   

        byte[] _DataBytes =你接收到的BYTE数组
    string _DataText= System.Text.Encoding.ASCII.GetString(_DataBytes);
    string _DataText ="中1国2人3";byte[] _DataBytes =  System.Text.Encoding.ASCII.GetBytes(_DataText );
      

  2.   

    byte[] bytes;//包含中文的ASCII编码字节数组
    string result=System.Text.ASCIIEncoding.GetString(bytes);
      

  3.   

    System.Text.Encoding.ASCII.GetString()
      

  4.   

    这个byte是c++的方式存储字符串,你的方法试过了,中文字显示不了
      

  5.   

    或则你试下 System.Text.Encoding.Default再不行 你把"中1国2人3"的C++编码后的数据发上来看看
      

  6.   

                byte[] data = new byte[10];
                data[0] = 190;
                data[1] = 169;
                data[2] = 66;
                data[3] = 71;
                data[4] = 55;
                data[5] = 54;
                data[6] = 57;
                data[7] = 52;
                data[8] = 0;
                data[9] = 0;这个BYTE数组存储的“京BG7694”怎么使string str = "京BG7694"?
      

  7.   


             byte[] data = new byte[10]; 
                data[0] = 190; 
                data[1] = 169; 
                data[2] = 66; 
                data[3] = 71; 
                data[4] = 55; 
                data[5] = 54; 
                data[6] = 57; 
                data[7] = 52; 
                data[8] = 0; 
                data[9] = 0; 
    我使用string str = System.Text.Encoding.ASCII.GetString(data );
    得到的结果是"??BG7694"不信的话大家可以试试
      

  8.   

    在VC中 CString str = (CString )data ;得到的str值是正确的,在C#里面不知道怎么办,请高手指点一二
      

  9.   

    default下测试成功,谢谢各位,结贴