-1

我这样做是为了以这种方式对我的 URL 进行编码,但它不起作用,我在 NSLog 中得到了结果,但它的相同 url 没有任何改变。

请帮我解决这个问题。

下面是我的代码:

 NSString *unencodedUrlString = 

[@"http://www.demii.com/demo/dooponz/admin/index.php/chat/new_message/4/1/you/2,7" 

stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSLog(@" %@", unencodedUrlString);

提前致谢

4

2 回答 2

2

逗号是合法的 URL 字符,因此stringByAddingPercentEscapesUsingEncoding“2,7”保持原样,不会用“2%2C7”替换。

如果您希望逗号替换为百分比转义(正如我从您对问题的评论中了解到的那样),您可以使用CFURLCreateStringByAddingPercentEscapes

NSString *str = @"http://www.demii.com/demo/dooponz/admin/index.php/chat/new_message/4/1/you/2,7";
NSString *encoded = CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
                (__bridge CFStringRef)(str), NULL, CFSTR(","), kCFStringEncodingUTF8));
NSLog(@"%@", encoded);

输出:

http://www.demii.com/demo/dooponz/admin/index.php/chat/new_message/4/1/you/2%2C7

第四个参数CFSTR(",")指定逗号应替换为百分比转义,即使它是合法的 URL 字符。

于 2013-06-11T10:16:10.167 回答
0

用这个

    NSString *str = [NSString stringWithFormat:@"http://www.demii.com/demo/dooponz/admin/index.php/chat/new_message/4/1/you/2,7"];
    NSString *path = [str stringByReplacingOccurrencesOfString:@"," withString:@"/"];
    NSLog(@"%@",path);

这将无济于事,只会使,to /

于 2013-06-11T10:05:35.310 回答