本文主要介绍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:nsliteralsearch range: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];}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。
如对本文有疑问, 点击进行留言回复!!
IOS系统中使用new Date()报错valid Date
解决Android10读取不到/sdcard/、/storage/emulated/0/文件的问题
Codeforces Round #649 (Div. 2)-B. Most socially-distanced subsequence(思维)
网友评论