1.非ARC模式下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
+ (NSString *)encodeToPercentEscapeString: (NSString *) input { // Encode all the reserved characters, per RFC 3986 // ()
NSString *outputStr = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,(CFStringRef)input,NULL,(CFStringRef)@ "!*'();:@&=+$,/?%#[]" ,
kCFStringEncodingUTF8);
return outputStr;
}
+ (NSString *)decodeFromPercentEscapeString: (NSString *) input {
NSMutableString *outputStr = [NSMutableString stringWithString:input];
[outputStr replaceOccurrencesOfString:@ "+"
withString:@ " "
options:NSLiteralSearch
range:NSMakeRange(0, [outputStr length])];
return [outputStr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
|
2. ARC模式下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
- (NSString *)encodeToPercentEscapeString: (NSString *) input{ NSString*
outputStr = (__bridge NSString *)CFURLCreateStringByAddingPercentEscapes(
NULL, /* allocator */
(__bridge CFStringRef)input,
NULL, /* charactersToLeaveUnescaped */
(CFStringRef)@ "!*'();:@&=+$,/?%#[]" ,
kCFStringEncodingUTF8);
return
outputStr;}- (NSString *)decodeFromPercentEscapeString: (NSString *) input
{NSMutableString *outputStr = [NSMutableString stringWithString:input];[outputStr replaceOccurrencesOfString:@ "+" withString:@"
"options:NSLiteralSearchrange:NSMakeRange(0,
[outputStr length])]; return
[outputStr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];}
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://blog.csdn.net/tianyitianyi1/article/details/17579997