IOS中对Url进行编码和解码示例_IOS

本文主要介绍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
url编码解码
ios url编码解码、url编码解码器、url编码解码、js url编码解码、java url编码解码,以便于您获取更多的相关知识。

时间: 2024-10-30 07:10:50

IOS中对Url进行编码和解码示例_IOS的相关文章

iOS中如何判断中英文混合的字符长度_IOS

废话不多说,直接给大家贴代码了. 一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. //第一种方法 NSLog(@"--first-%i",[self convertToInt:@"123我爱你"]); //第二种方法 NSLog(@"--second--%ld",[self getToInt:@&

浅析iOS中的浅拷贝和深拷贝(copy和mutableCopy)_IOS

ios提供了copy和mutablecopy方法,顾名思义,copy就是复制了一个imutable的对象,而mutablecopy就是复制了一个mutable的对象. copy与retain的区别: copy是创建一个新对象,retain是创建一个指针,引用对象计数加1.Copy属性表示两个对象内容相同,新的对象retain为1 ,与旧有对象的引用计数无关,旧有对象没有变化.copy减少对象对上下文的依赖. retain属性表示两个对象地址相同(建立一个指针,指针拷贝),内容当然相同,这个对象的

详解ios中的SQL数据库文件加密 (使用sqlcipher)_IOS

今天本想写一片 GAE+goAgent+SwitchySharp 的指南的!但是突然翻出了前段时间写的关于iOS中的SQL数据库文件加密的代码,于是乎决定今天就先讲讲这个!- 那么goAgent将放在周末,后续的文章中除了文件加密,还有传输数据加密,感兴趣的童鞋 敬请留意. 言归正传,sql的文件加密,我们首先要用到一个库,它就是大名鼎鼎的Sqlcipher,  奉上连接:http://sqlcipher.NET,在ios里 我们需要看的文档是这一篇http://sqlcipher.Net/io

iOS中使用URL Scheme进行App跳转的教程_IOS

URL Scheme的作用 我们都知道苹果手机中的APP都有一个沙盒,APP就是一个信息孤岛,相互是不可以进行通信的.但是iOS的APP可以注册自己的URL Scheme,URL Scheme是为方便app之间互相调用而设计的.我们可以通过系统的OpenURL来打开该app,并可以传递一些参数. 例如:你在Safari里输入www.alipay.com,就可以直接打开你的支付宝app,前提是你的手机装了支付宝.如果你没有装支付宝,应该显示的是支付宝下载界面,点击会跳到AppStore的支付宝下载

iOS中的NSURLCache数据缓存类用法解析_IOS

 在IOS应用程序开发中,为了减少与服务端的交互次数,加快用户的响应速度,一般都会在IOS设备中加一个缓存的机制.使用缓存的目的是为了使用的应用程序能更快速的响应用户输入,是程序高效的运行.有时候我们需要将远程web服务器获取的数据缓存起来,减少对同一个url多次请求.下面将介绍如何在IOS设备中进行缓存.  内存缓存我们可以使用sdk中的NSURLCache类.NSURLRequest需要一个缓存参数来说明它请求的url何如缓存数据的,我们先看下它的CachePolicy类型.    1.NS

iOS中视频播放器的简单封装详解_IOS

前言 如果仅仅是播放视频两者的使用都非常简单,但是相比MediaPlayer,AVPlayer对于视频播放的可控制性更强一些,可以通过自定义的一些控件来实现视频的播放暂停等等.因此这里使用AVPlayer的视频播放. 视频播放器布局 首先使用xib创建CLAVPlayerView继承UIView用来承载播放器,这样我们在外部使用的时候,直接在控制器View或者Cell上添加CLAVPlayerView即可,至于播放器播放或者暂停等操作交给CLAVPlayerView来管理.下面来看一下CLAVP

iOS中的UIKeyboard键盘视图使用方法小结_IOS

一.键盘风格   UIKit框架支持8种风格键盘. 复制代码 代码如下: typedef enum {      UIKeyboardTypeDefault,                // 默认键盘:支持所有字符      UIKeyboardTypeASCIICapable,           // 支持ASCII的默认键盘      UIKeyboardTypeNumbersAndPunctuation,  // 标准电话键盘,支持+*#等符号      UIKeyboardType

iOS中的NSTimer定时器的初步使用解析_IOS

创建一个定时器(NSTimer) - (void)viewDidLoad { [super viewDidLoad]; [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(actionTimer:) userInfo:nil repeats:YES]; } - (void)actionTimer:(NSTimer *)timer { } NSTimer默认运行在default mode下,default

iOS中解决Xcode 8控制台乱码的方式_IOS

下面是之前大家会用的解决控制台log输出的方式 Xcode8里边 Edit Scheme-> Run -> Arguments, 在Environment Variables里边添加 OS_ACTIVITY_MODE = Disable 环境变量 ,这个相信大家都会. 使用改变Xcode系统模板的方式 先介绍几个c函数 /** *getenv(取得环境变量内容) *定义函数 char * getenv(const char *name); *函数说明 getenv()用来取得参数name环境变