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];}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。