如何将   {"val":"#ff0000","name":"\u7ea2\u8272"}   这段代码解码。   我用一个工具测试
 显示  usc2转ansi: {"val":"#ff0000","name":"红色"}
在线等,谢谢啦!解码

解决方案 »

  1.   

    string result = Uri.UnescapeDataString("{\"val\":\"#ff0000\",\"name\":\"\u7ea2\u8272\"} ");
                Console.WriteLine(result);
      

  2.   


    你好,还在线不?  为什么直接赋值可以转换,如果把这段放到txt中再读出来就不行了呢?
      

  3.   


    你好,还在线不?  为什么直接赋值可以转换,如果把这段放到txt中再读出来就不行了呢?
    请你把你从txt中读出来的代码贴上来。
      

  4.   


    你好,还在线不?  为什么直接赋值可以转换,如果把这段放到txt中再读出来就不行了呢?
    请你把你从txt中读出来的代码贴上来。 string content = "";
              StreamReader sr = new StreamReader("D:\\1.txt", Encoding.GetEncoding("GB2312"));
              content = sr.ReadToEnd();          
              string result = Uri.UnescapeDataString(content);
              MessageBox.Show(result);txt内容:
      

  5.   

    这样的就要对字符串进行改造,因为转义的原因\变为了\\。
    static void Main(string[] args)
            {
                string content = "";
                StreamReader sr = File.OpenText("test.txt");
                content = sr.ReadToEnd();
                string result = Uri.UnescapeDataString(getCN(content));
                Console.WriteLine(result);
            }        public static string getCN(string str)
            {
                string outStr = "";
                if (!string.IsNullOrEmpty(str))
                {
                    string[] strlist = str.Replace("\\", "").Replace("\"}", "").Split('u');
                    try
                    {
                        for (int i = 1; i < strlist.Length; i++)
                        {
                            outStr += (char)int.Parse(strlist[i], System.Globalization.NumberStyles.HexNumber);
                        }
                    }
                    catch (FormatException ex)
                    {
                        outStr = ex.Message;
                    }
                    outStr = strlist[0] + outStr + "\"}";
                }
                return outStr;
            }