解码URL Query时获得双反斜杠

时间:2013-03-25 17:36:47

标签: iphone ios url-scheme

我正在尝试解码我​​的iphone应用的网址查询。

这是我使用的代码

    - (NSDictionary *)parseQueryString:(NSString *)query {

    NSArray *pairs = [query componentsSeparatedByString:@"&"];
    NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithCapacity:[pairs count]];

    for (NSString *pair in pairs) {

        NSArray *elements = [pair componentsSeparatedByString:@"="];
        NSString *key = [elements objectAtIndex:0];
        NSString *val = [elements objectAtIndex:1];

        [dict setObject:val forKey:key];

    }
    return dict;
}

这是我一直在提供的查询字符串。

station=124&serverip=demo\sqlexpress&username=test&password=noneofyourbusiness&serviceip=anumber&useimages=true&imagepath=pathforimages

当我NSLog返回的字典时,服务器ip出现为

serverip = "demo\\sqlexpress";

突然它有两个反斜杠而不是一个反斜杠。 任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

你的琴弦可能很好。记录字典打印不会按原样打印字符串。

打印字典会将其转换为旧的NSPropertyListOpenStepFormat格式。字符串使用反斜杠来逃避。