美文网首页
2018-04-20

2018-04-20

作者: 女王陛下你好 | 来源:发表于2018-04-20 14:36 被阅读0次

iOS9之前使用CFStringRef CFURLCreateStringByAddingPercentEscapes(CFAllocatorRef allocator, CFStringRef originalString, CFStringRef charactersToLeaveUnescaped, CFStringRef legalURLCharactersToBeEscaped, CFStringEncoding encoding)这个方法

参数解释

allocator 表示为返回字符串的申请的内存,一般为null或kCFAllocatorDefault

originalString 表示需要转义的字符串

charactersToLeaveUnescaped 表示需要保留哪些字符不需要转义

legalURLCharactersToBeEscaped 表示需要转义的字符

encoding 表示需要转义的风格

ios 9之后使用- (nullableNSString*)stringByAddingPercentEncodingWithAllowedCharacters:(NSCharacterSet*)allowedCharacters 方法

allowedCharacters 系统给了六种默认的风格

URLFragmentAllowedChatacterSet "#%/<>[\]^`{|}

URLHostAllowedCharacterSet      "#%/<>?@\^`{|}

URLPasswordAllowedCharacterSet  "#%/:<>?@[\]^`{|}

URLPathAllowedCharacterSet      "#%;<>?[\]^`{|}

URLQueryAllowedCharacterSet    "#%<>[\]^`{|}

URLUserAllowedCharacterSet      "#%/:<>?@[\]^`

这些只是对`#%^{}[]|\"<> 加空格共14个字符编码,不包括”&?”等符号,如果想要对“&?”进行编码就需要自己定义编码方式

例如:

NSCharacterSet*customAllowedSet = [[NSCharacterSetcharacterSetWithCharactersInString:@"!#$%&'()*+,/:;=?@[]"]invertedSet];

具体使用:

+ (NSString*)encodeString:(NSString*)unencodedString { if([[[UIDevicecurrentDevice]systemVersion]floatValue] >=9.0) {

       NSCharacterSet*customAllowedSet = [[NSCharacterSetcharacterSetWithCharactersInString:@"!#$%&'()*+,/:;=?@[]"]invertedSet];

     NSString*encodeUrl = [unencodedStringstringByAddingPercentEncodingWithAllowedCharacters:customAllowedSet];

       returnencodeUrl;

    }

   NSString*encodedString = (NSString*)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,(CFStringRef)unencodedString,NULL,(CFStringRef)@"!*'();:@&=+$,/?%#[]",kCFStringEncodingUTF8));

   returnencodedString;

}

相关文章

  • 2018-04-20

    2018-04-20 2018-04-20 2018-04-20 2018-04-20 2018-04-20201...

  • 2018-04-20

    2018-04-20 2018-04-20 2018年口才组春季目标人数 课程组目标(400人) 已完成(644人...

  • Golang 语言深入理解:channel

    title: Golang语言笔记: 理解 Channel 特性date: 2018-04-20 20:00:0...

  • 父亲是画家

    父亲是画家 胡99 2018-04-20 纪念父亲诞辰86周年 早几天参观...

  • [MyBatis] MyBatis中对java.util.Dat

    MyBatis对此,会自动转化 以下是Java代码手动转化 2018-04-20 15:25:25.6382018...

  • 11条鱼的故事,听完真是恍然大悟!

    2018-04-20 微信:478217002 1. 添加↑↑上方"478217002"咨询 听完这11条鱼的故事...

  • 沁园春·闫李庄

    2018-04-20 ——岁月如歌诗词选(第二集·75) 二读王玉明《...

  • 木兰花·闫李庄

    2018-04-20 ——岁月如歌诗词选(第二集·74) 读王玉明《人...

  • 2018-04-20

    2018-04-20 180 戴师傅 简书作者 2018.04.20 21:44 打开App (稻盛哲学学习会)打...

  • 2018-04-20

    ZFQ_dacf 2018-04-20· 字数 511· 阅读 50· 日记本 姓名:周富强 公司:厦门大科机械有...

网友评论

      本文标题:2018-04-20

      本文链接:https://www.haomeiwen.com/subject/obnakftx.html