receive[i ]  这个数组里有数据 0x37 0x37 0x35 0x36想转为字符串 为 77 56  该怎么搞?就是把 ASC 转为  字符串

解决方案 »

  1.   

    string st = "";
                            for (j = 0; j < 4; j++)
                            {
                                          st =st + receive[j].ToString ;
                                 
                            }    
    这样么?
      

  2.   

    怎么会不明白呢?
    ASC 为的0x37   不就是  十进制的  7么?
     如果是 0x65 就转为 A 
    如果是 0x97 就转为 a就是这个意思
      

  3.   

    string st = "";
                            for (j = 0; j < 4; j++)
                            {
                                          st =st + (receive[j]-48).ToString ;
                                 
                            }    
      

  4.   

    string st = "";
                            for (j = 0; j < 4; j++)
                            {
                                          st =st + (receive[j]%16).ToString ;
                                 
                            }    
      

  5.   

    string st = "";
                            for (j = 0; j < 4; j++)
                            {
                                          st =st + (receive[j]-48).ToString ;
                                 
                            }    
      

  6.   

    0的Asc值是48,所以得先减掉48.同上。
      

  7.   

    agree 用个tostring 就搞定了
      

  8.   

    st =st + (receive[j]-48).ToString ;请问你 编译了没?Error 1 Operator '+' cannot be applied to operands of type 'string' and 'method group' C:\Documents and Settings\Administrator\Desktop\TestUDP\TestUDP\Form1.cs 405 34 TestUDP
      

  9.   

    string st = "";
                            for (j = 0; j < 4; j++)
                            {
                                          st =st + (receive[j]-48).ToString ;
                                 
                            }    
      

  10.   

    string st = "";
                            for (j = 0; j < 4; j++)
                            {
                                          st =st + (receive[j]-48).ToString ;
                                 
                            }    不可以的 难道没别的方法了
      

  11.   

    st =st + (receive[j]-48).ToString 
    不好意思,写错了,改成ToString();就可以了。
    我测试了如下:
    string st = "";
                byte[] receive = new byte[4];
                receive[0] = 0x37;
                receive[1] = 0x37;
                receive[2] = 0x35;
                receive[3] = 0x36;
                int j;
                for (j = 0; j < 4; j++)
                {
                    st = st + (receive[j] - 48).ToString();
                }
                Console.WriteLine(st);输出为“7756”
      

  12.   


                string str;
                ASCIIEncoding s = new ASCIIEncoding();
                byte[] a = new byte[4];
                a[0] =0x37;
                a[1] =0x37;
                str = s.GetString(a );
                textBox1.Text = str;
    唉 还是MSDN 好啊  看看帮助 还是有用的 
    靠人不如靠自己啊
      

  13.   

    TO
    liujia_0421()
     兄弟我试了你那个 是没问题但如果是0x68  0X69 就不对了 不是我想要的 D 和 E 了 
    而我的哪个程序就可以了