str="\\udb17\\ue20c"如何转换为
str="\udb17\ue20c"???

解决方案 »

  1.   

    楼主要什么效果?
    单单要转换,这样就可以了:str.Replace("\\", "")因为\\里的第一个\是转义符号。但是这样就看不到\udb17的组合效果了,\udb17是一个转义字符,代表了一个Unicode字符。
      

  2.   

    在C#中str="\\udb17\\ue20c";显示的结果为:\udb17\ue20c
    要想显示\\udb17\\ue20c,需要这样写:str="\\\\udb17\\\\ue20c";
    然后要将双斜杠转为单斜杠:
    str="\\\\udb17\\\\ue20c";//原始str=\\udb17\\ue20c
    str=str.Replace("\\","");//结果str=\udb17\ue20c
      

  3.   

    str=@"\udb17\ue20c";
    这样用就不需要转
      

  4.   


    正解,如果你是想为str赋值为"\udb17\ue20c",就用这个赋值 str=@"\udb17\ue20c";
      

  5.   

    谢谢大家,
    我从文本中读入\udb17\ue20c到程序中,会变成\\udb17\\ue20c,所以需要把它再转换回来的。如果直接用
    replace("\\","\")是不行的,因为“\”不能直接使用。
      

  6.   

    这样的话,正如你所说的,没有\udb17的组合效果了,而我想要的就是unicode字符的效果。
      

  7.   

    str=@"\udb17\ue20c";
    记住@这个用法很多哦。 
      

  8.   

    我是想把字符串\udb17\ue20c中的db17和e20c提取出来,转换为unicode编码,再转换为字符串“\udb17\ue20c”
    可是不行。竟然说我是恶意刷屏,冤枉啊,我是心急啊。
      

  9.   

    //中文转为UNICODE字符 string str = "中文"; 
                string outStr = ""; 
                if (!string.IsNullOrEmpty(str)) 
                {                
                    for (int i = 0; i < str.Length; i++) 
                    { 
                        //将中文字符转为10进制整数,然后转为16进制unicode字符 
                        outStr += "\\u" + ((int)str[i]).ToString("x"); 
                    } 
                } 
    //UNICODE字符转为中文             string str = "\\u4e2d\\u6587"; 
                string outStr = ""; 
                if (!string.IsNullOrEmpty(str)) 
                { 
                    string[] strlist = str.Replace("\\","").Split('u'); 
                    try 
                    { 
                        for (int i = 1; i < strlist.Length; i++) 
                        { 
                            //将unicode字符转为10进制整数,然后转为char中文字符 
                            outStr += (char)int.Parse(strlist[i], System.Globalization.NumberStyles.HexNumber); 
                        } 
                    } 
                    catch (FormatException ex) 
                    { 
                        outStr = ex.Message; 
                    } 
                } 
     
     
     
      

  10.   

    不需要那样str=@"\\udb17\\ue20c";
    str=str.Replace(@"\\",@"\");@不对字符串重解析