现有字符串
"\x01\x02\x30\x0A\xFF"求教如何能转换成字符串0102300AFF还有如何逆运算

解决方案 »

  1.   

    str = "\x01\x02\x30\x0A\xFF";
    str = str.Replace("\x","");
      

  2.   

    str = "\x01\x02\x30\x0A\xFF";
    str = str.Replace("\x","");
      
      

  3.   

    问题表述得不清楚,再提问一次\x01\x02\x30\x0A\xFF 组成的字符串我要变成 "0102300AFF"
      

  4.   

    晕,函数也是一样的代码
    public string F(string str)
    {
        return str.Replace("\x","");
    }
      

  5.   

    viena(维也纳nn) 麻烦再看看我补充的说明是,例如
    \x01\x02\x30\x0A\xFF 组成的字符串\x01代表16进制01,这个几个字节组成的字符串
      

  6.   

    使用字符串的Split方法去分割,将所得字符串数组再相加起来即可
    再利用Substring方法可去完成逆运算,很简单,多试几下就可以了
      

  7.   

    public string F(string str)
    {
        string ret = "";
        for(int i=0;i<str.Length;i++)
        {
            ret += Convert.ToString((byte)str[i],16).PadLeft(2,'0');
        }
        return ret;
    }
      

  8.   

    好像回答的几位朋友都不清楚\x是代表什么意思喔Console.write("\x01\x02\x30\x0A\xFF");
    你们看看是什么结果我的问题继续期待正确回答~
      

  9.   

    其实用例子已经是最直白的说明了再说一次
    有16进制字符串如下
    AB CF 00 11 CC 52 FF要能转换成普通字符串ABCF0011CC52FF
      

  10.   

    大体好像是符合楼主要求的,F("\x01\x02\x30\x0A\xFF")返回 0102300aff
    如果要大写,再.ToUpper一下就可以了
      

  11.   

    学习viena(维也纳nn) 的耐性,拜服。。
      

  12.   

    逆运算如下:
    public string Frev(string str)
    {
        string ret = string.Empty;
        for(int i=0;i<str.Length-1;i+=2)
        {
            ret += (char)Convert.ToByte(str.SubString(i,2), 16);
        }
        return ret;
    }
      

  13.   

    viena(维也纳nn) 给出的public string Frev(string str)未符合要求
      

  14.   

    sorry,有错误
    SubString =〉Substring
      

  15.   

    不,Substring这个小错误可忽略Frev("123456789")结果是
    \x12 \x34 \x56 \x78
    没了9
      

  16.   

    我要晕倒了,
    //viena(维也纳nn) 给出的public string Frev(string str)未符合要求
    哪儿不符合你说呀,要你一句明白话就那么难吗?
      

  17.   

    嗯,自己解决了
    viena(维也纳nn) 的方法虽然代码行,
    但是如果遇到中文就会出现问题,所以不能给满分
    我使用返回byte[]再处理的
      

  18.   

    string str=@"\x01\x02\x30\x0A\xFF";
    str=str.Replace(@"\x","");
      

  19.   

    string str=@"\x01\x02\x30\x0A\xFF";
    str=str.Replace(@"\x","");
    注意使用"@"
      

  20.   

    lz几岁了?跟个吵着要糖吃的小p孩一样。= =|||