非ARC環境
URLLエンコードをおこなう
CFURLCreateStringByAddingPercentEscapes関数
を使ってURLエンコードします。
// URLエンコードをおこなう - (NSString*) stringByUriEscape:(NSString*)text { NSString *r = (NSString*)CFURLCreateStringByAddingPercentEscapes( kCFAllocatorDefault, (CFStringRef)text, NULL, (CFStringRef)@"!*'();:@&=+$,/?%#[]", kCFStringEncodingUTF8); return [r autorelease]; }
URLデコードをおこなう
CFURLCreateStringByReplacingPercentEscapesUsingEncoding関数
を使ってURLデコードします。
// URLデコードをおこなう - (NSString*) stringByUriUnescape:(NSString*)text { NSString *r = (NSString *)CFURLCreateStringByReplacingPercentEscapesUsingEncoding( kCFAllocatorDefault, (CFStringRef)text, CFSTR(""), kCFStringEncodingUTF8); return [r autorelease]; }