ios - NSString URL解码?

时间:2013-04-26 07:20:54

标签: ios objective-c urldecode

我正在尝试对网址进行解码,但我收到的警告信息如“NSString可能无法响应URLDecode”。

NSString* token = [[urlStr substringFromIndex:r.location + 1] URLDecode];

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

因为它不是经典NSString响应的方法,所以你可以添加类似下面的类别,自己添加方法:

@interface NSString (URLDecode)
- (NSString *)URLDecode;
@end

@implementation NSString
- (NSString *)URLDecode
{
    NSString *result = [(NSString *)self stringByReplacingOccurrencesOfString:@"+" withString:@" "];
    result = [result stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    return result;
}
@end

答案 1 :(得分:1)

试试这样。

NSString* urlEncoded = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

并查看此链接https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html#//apple_ref/doc/uid/TP40003744

它可能对你有所帮助。