有兩種方法:
一,使用NSString的方法:
NSString* string2 = [string1 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString* string1 = [string2 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
二、使用CFStringRef的方法
sUrl = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)sUrl, nil, nil, kCFStringEncodingUTF8);
但這兩個方法,都不會處理URL中的保留字符,如果要處理保留字符,推薦使用Google的objective c 工具庫 GTMNSString+URLArguments來處理:
http://code.google.com/p/google-toolbox-for-mac/source/browse/trunk/Foundation/GTMNSDictionary%2BURLArguments.h