IOS中对Url进行编码和解码示例
本文主要介绍IOS中对Url进行编码和解码示例,具体如下:
1.非ARC模式下
+(NSString*)encodeToPercentEscapeString:(NSString*)input{ //Encodeallthereservedcharacters,perRFC3986 //()
NSString*outputStr=(NSString*)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,(CFStringRef)input,NULL,(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8);
returnoutputStr;
}
+(NSString*)decodeFromPercentEscapeString:(NSString*)input{
NSMutableString*outputStr=[NSMutableStringstringWithString:input];
[outputStrreplaceOccurrencesOfString:@"+"
withString:@""
options:NSLiteralSearch
range:NSMakeRange(0,[outputStrlength])];
return[outputStrstringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
2.ARC模式下
-(NSString*)encodeToPercentEscapeString:(NSString*)input{NSString*
outputStr=(__bridgeNSString*)CFURLCreateStringByAddingPercentEscapes(
NULL,/*allocator*/
(__bridgeCFStringRef)input,
NULL,/*charactersToLeaveUnescaped*/
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8);
return
outputStr;}-(NSString*)decodeFromPercentEscapeString:(NSString*)input
{NSMutableString*outputStr=[NSMutableStringstringWithString:input];[outputStrreplaceOccurrencesOfString:@"+"withString:@"
"options:NSLiteralSearchrange:NSMakeRange(0,
[outputStrlength])];return
[outputStrstringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。