本文主要介紹IOS中對Url進行編碼和解碼示例,具體如下:
1.非ARC模式下
+ (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:NSLiteralSearchrange:NSMakeRange(0, [outputStr length])];return [outputStr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
2. ARC模式下
- (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];}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答