就是想通过
http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=58.60.125.97
这个接口来查询IP地址的信息返回值 是
var remote_ip_info = {"ret":1,"start":"58.60.124.0","end":"58.60.125.255","country":"\u4e2d\u56fd","province":"\u5e7f\u4e1c","city":"\u6df1\u5733","district":"\u5357\u5c71","isp":"\u7535\u4fe1","type":"","desc":""};注意这个里有\u4e2d\u56fd 一看这是没有问题的.如果是直接写HttpUtility.UrlDecode("\u4e2d\u56fd")显示是中文"中国".但悲催的是这里的是程序来输出的.int intStart = strReturn.IndexOf("{") + 1;
            int intLength = strReturn.IndexOf("}") - intStart;            strReturn = strReturn.Substring(intStart, intLength);
            strReturn = strReturn.Replace("\"", "");
            strReturn = strReturn.Replace("\\", "$");
            string[] arrReturn = strReturn.Split(',');            string strCountry = arrReturn[3];
            string strProvince = arrReturn[4];
            string strCity = arrReturn[5];
            string strDistrict = arrReturn[6];
            string strISP = arrReturn[7];            return HttpUtility.UrlDecode( strCountry.Replace("$",@"\") + "|" + strProvince + "|" + strCity + "|" + strDistrict + "|" + strISP );在这里无论怎么搞.最后的\u4e2d\u56fd都变成\\u4e2d\\u56fd.于是HttpUtility.UrlDecode输出的仍然是\u4e2d\u56fd.搞了我一晚上了.万恶的微软啊.你为什么要自动加上.你以为\就是一个反斜杠,硬要来个\表示转义.我顶!

解决方案 »

  1.   

    呃...找到方法了
    Regex.Unescape
      

  2.   

    但悲催的是这里的是程序来输出的这里 是哪里?还有你这段代码是.NET内核代码???
      

  3.   

    我是来看看 .net 怎么垃圾的
      

  4.   

    说.net垃圾的为什么不自己写个好的呢
      

  5.   

    me too too too too
      

  6.   

    一大清早就在这里说.NET垃圾....................
      

  7.   

    Regex.Unescape可以将unicode编码转换为unicode字符
      

  8.   

    me too too too too too
      

  9.   

    亏自己还是个。net程序员,靠。net挣钱吃饭。
    不知廉耻
      

  10.   

    me too too too too too too
      

  11.   


     string ipAddress = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=58.60.125.97";
                WebRequest request = WebRequest.Create(new Uri(ipAddress));
                WebResponse response = request.GetResponse();
                StreamReader reader = new StreamReader(response.GetResponseStream());
                string responseStr = string.Empty;
                responseStr= HttpUtility.HtmlDecode(reader.ReadToEnd());
                reader.Dispose();
                responseStr = responseStr.Substring(responseStr.IndexOf("=") + 2);
                responseStr = responseStr.Substring(0, responseStr.Length - 1);
                JavaScriptSerializer jss = new JavaScriptSerializer();
                IpInfo ipInfo=jss.Deserialize<IpInfo>(responseStr);
    public class IpInfo
        {
           public string ret { get; set; }
           public string start { get; set; }
           public string end { get; set; }
           public string country { get; set; }
           public string province { get; set; }
           public string city { get; set; }
           public string district { get; set; }
           public string isp { get; set; }
           public string type { get; set; }
           public string desc { get; set; }
        }
      

  12.   

    me too too too too too too too
      

  13.   


    me too too too too too too too too
      

  14.   

    看来喷口水的不少嘛.哥年纪不小.做.net时间不短,但我一直都认为.NET比较垃圾.正打算转做JAVA.现在.NET越做越大,倒反而不知道他的方向了.一直在模仿JAVA.也没出什么创意的东西.玩到4.0以后就感觉像在堆积木了.昨天晚上是抽得很郁闷,加班也累也烦,你懂的.本想是发发牢骚.没想到这么多人回复!
      

  15.   

    .net是模仿java?算了,不做评论
      

  16.   

    lz他妈的就是个傻逼,.net垃圾你他妈的还做?还模仿java?来你做一个比垃圾好的来看看
      

  17.   

    json这么处理能不悲催吗...最悲催地是那句古话,男怕入错行...楼主赶紧改行吧,软件业很危险滴...
      

  18.   


    me too too
       顺便来接下分!!!
      

  19.   

    赶紧去搞你的JAVA,这样.NET也少个败类
      

  20.   


    me too too too too too too too too too
      

  21.   

    从LZ代码,和单纯转义字符这个概念,无语,你懂的,不解释,但.net中太多这种人了
      

  22.   


    me too too too too too too too too too too
      

  23.   

    我是被标题引进来的 看看是什么淫说.NET垃圾的
      

  24.   


    没错。自己不行,还敢说.net的不好。什么DX?
      

  25.   

    .net最开始模仿java没错,但后来是java开始模仿.net了。
      

  26.   


    我也认为.net垃圾,java的理论很完善,java的语法和独特的语言结构充分的体现了理念。.net抄java又不完全理解偷窃Java的理论基础,.net加入了自己的想法,就像有xx特色的社会主义,不伦不类。不过,只要能挣钱,管他是java还是.net,谁能用最少低价解决问题就用谁。如果对技术追求的话,我个人认为java的理论不错,C的效率很好
      

  27.   

    一看标题就能知道楼主一脑残族。.Net垃圾你还用他干什么呢?就好比你妈生了你你还闲你妈穷一样。