UTF-8解码
NSString* str= [@"%E4%B8%AD%E5%9B%BD" stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"strAfterDecodeByUTF8AndURI=%@", str);
UTF-8转码
[@"我是中文" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
URL编码
非ARC
+(NSString *)getUrlStringFromString:(NSString *)aStr{
NSString *outputStr = (NSString *)
CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
(CFStringRef)aStr,
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8);
return outputStr;
}
ARC
+(NSString *)getUrlStringFromString:(NSString *)urlStr{
NSString *outputStr = (__bridge NSString *)
CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
(__bridge CFStringRef)urlStr,
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8);
return outputStr;
}
URL解码
+ (NSString *)decodeFromPercentEscapeString: (NSString *) urlStr
{
NSMutableString *outputStr = [NSMutableString stringWithString:urlStr];
[outputStr replaceOccurrencesOfString:@"+"
withString:@""
options:NSLiteralSearch
range:NSMakeRange(0,
[outputStr length])];
return [outputStr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
}