iOS url编码与解码

1. iOS 9之前

1.1 url编码

[urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

1.2 url解码

[result  stringByReplacingPercentEscapesUsingEncoding:4]

2. iOS 9之后

2.1 url解码

该方法在iOS7之后就可以用了

[path  stringByRemovingPercentEncoding]

2.2 url编码

[path stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLPathAllowedCharacterSet]]

更改创建NSCharacterSet的类方法,可针对不同的部位。这个是苹果的官方解释,不多有很多结果都一样。

// 原数据:http://hare:8888@163.com/sub#bb?k=v
// 主要针对”#”号后面的组件:”#bb”
// 结果为:http://hare:8888@163.com/sub%23bb?k=v
——> URLFragmentAllowedCharacterSet 
// 主要针对”@”号后面的组件:@"163.com”
// 结果为:http%3A%2F%2Fhare%3A8888%40163.com%2Fsub%23bb%3Fk=v
——> URLHostAllowedCharacterSet
// 主要针对”:”号后面的组件:":8888”
// 结果为:http%3A%2F%2Fhare%3A8888%40163.com%2Fsub%23bb%3Fk=v
——> URLPasswordAllowedCharacterSet
// 主要针对”子路径”:"/sub”
// 结果为:http%3A//hare:8888@163.com/sub%23bb%3Fk=v
——> URLPathAllowedCharacterSet
// 主要针对”参数”:"k=v” 
// 结果为:http://hare:8888@163.com/sub%23bb?k=v
——> URLQueryAllowedCharacterSet
// 主要针对”:”前:”hare”
// 结果为: http%3A%2F%2Fhare%3A8888%40163.com%2Fsub%23bb%3Fk=v
——> URLUserAllowedCharacterSet
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 用到的组件 1、通过CocoaPods安装 2、第三方类库安装 3、第三方服务 友盟社会化分享组件 友盟用户反馈 ...
    SunnyLeong阅读 14,977评论 1 180
  • 入秋尽月 , 依旧暑热 。 夜不能寐 , 独自心碎 。 一个人奔波劳累为了谁 ? 一颗心能受折磨多少回...
    张永森阅读 1,625评论 14 14
  • 我不是个好男人,我必须承认这一点。这是我在寝室呆了一天什么也没干后得出的结论。当一个人觉得自己没错的时候,他甚至可...
    悲苦执念阅读 5,017评论 0 2
  • 首先说结论吧,不要是试图改变 yarn global add pkg 安装的位置,yarn这个弱智的东西并没有提供...
    TOPro阅读 4,699评论 1 0

友情链接更多精彩内容