iOS-URL编解码

本文介绍了iOS中URL编码解码的重要性,特别是在处理包含特殊字符和中文的参数时。详细讨论了URL可以包含的字符、需要编码的字符,并提供了两种编码方法,强调了编码过程中需要注意的内存管理和特殊字符处理。
摘要由CSDN通过智能技术生成

##URL编解码

前言:

一般在请求的时候参数中带有中文的时候经常会用到一个编码方法:

stringByAddingPercentEscapesUsingEncoding

相比大家都比较熟悉 用UTF-8进行编码,但是在项目中遇到webView拦截url来做交互的时候(JS OC 交互 协议截取 URL截取 以及注入的笨方法…)发现有一些特殊字符解码过程会出现问题.于是有了下边的一些探讨和学习.

为啥用到编码?
1.Size过大
2.包含隐私数据
3.URL本身而言,歧义...

对于最后一种比较常见,例如服务器通过截取& = 来区分你的key 和value.一旦你的参数中包含了&=则就会分割错误引起歧义从而需要编码.

URL可以包含那些字符?

PFC3086(个人也不清楚是个啥..应该是个标准) 规定URL只能包含:
a – > z
A – > Z
- _ . ~ 四个特殊字符
! * ‘ ( ) : ; @ & = + $ , / ? # [ ] 18个保留字符

需要编码的字符有哪些?

空格 <> % # { } | \ [ ] ’ ~ 不安全字符
以及其他特殊字符(这些字符往往在URL里有自己特有的意义)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值