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

 更新时间:2016年11月23日 16:47:55   作者:小宇丝  
本篇文章主要介绍了IOS中对Url进行编码和解码示例,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

本文主要介绍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控件布局之Masonry布局框架

    深入理解IOS控件布局之Masonry布局框架

    本篇文章主要介绍了深入理解IOS控件布局之Masonry布局框架 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • 在iOS中使用OpenGL ES实现绘画板的方法

    在iOS中使用OpenGL ES实现绘画板的方法

    这篇文章主要介绍了在iOS中使用OpenGL ES实现绘画板的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • IOS 性能优化中离屏渲染

    IOS 性能优化中离屏渲染

    本文主要介绍了IOS 性能优化中离屏渲染的资料,提供了几种方法讲解了优化,有需要的小伙伴可以参考下
    2016-10-10
  • iOS 动画实战之钓鱼小游戏实例代码

    iOS 动画实战之钓鱼小游戏实例代码

    最近小编做了一个钓鱼小游戏,平时没有做过,所以上手有点急躁,不过,最终还是实现了,下面小编给大家分享iOS 动画实战之钓鱼小游戏的实现思路,感兴趣的朋友一起看看吧
    2018-02-02
  • iOS 8使用UIBlurEffect实现毛玻璃特效

    iOS 8使用UIBlurEffect实现毛玻璃特效

    这篇文章主要为大家详细介绍了iOS 8使用UIBlurEffect类和UIVisualEffectView类实现毛玻璃特效,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • IOS开发使用KeychainItemWrapper 持久存储用户名和密码

    IOS开发使用KeychainItemWrapper 持久存储用户名和密码

    这篇文章主要介绍了IOS开发使用KeychainItemWrapper 持久存储用户名和密码的相关资料,需要的朋友可以参考下
    2015-11-11
  • iOS自动生成表格效果的实现代码

    iOS自动生成表格效果的实现代码

    这篇文章主要为大家详细介绍了iOS自动生成表格效果的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • CocoaPods1.9.0 安装使用教程详解

    CocoaPods1.9.0 安装使用教程详解

    CocoaPods是OS X和iOS下的一个第三类库管理工具,这篇文章主要介绍了CocoaPods1.9.0 安装使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • Swift 进阶 —— map 和 flatMap的使用

    Swift 进阶 —— map 和 flatMap的使用

    这篇文章主要介绍了Swift map和flatMap的相关资料,帮助大家更好的理解和使用Swift,感兴趣的朋友可以了解下
    2020-09-09
  • iOS异步下载图片实例代码

    iOS异步下载图片实例代码

    这篇文章主要介绍了iOS异步下载图片实例代码的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-08-08

最新评论