`
dcj3sjt126com
  • 浏览: 1879002 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用Obj-C对数据等进行URLEncoding编码

    博客分类:
  • IOS
阅读更多

在Objective-c进行网络编程时,经常需要把数据转换成URLEncoding编码,如对+号编码后,变成%2b.这里我们给出一种实现.

<span style="font-family:SimSun;font-size:13px;color:#330033;">//NSString+URLEncoding.h
#import 
 
@interface NSString (URLEncodingAdditions)
- (NSString *)URLEncodedString;
- (NSString *)URLDecodedString;
@end</span>

 

<span style="font-family:SimSun;font-size:13px;color:#330033;">//NSString+URLEncoding.m
#import "NSString+URLEncoding.h"
@implementation NSString (OAURLEncodingAdditions)
 
- (NSString *)URLEncodedString
{
    NSString *result = (NSString *)
       CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
                                                  (CFStringRef)self,
                                                  NULL,
                                                  CFSTR("!*'();:@&=+$,/?%#[] "),
                                                  kCFStringEncodingUTF8);
    [result autorelease];
    return result;
}
 
- (NSString*)URLDecodedString
{
    NSString *result = (NSString *)
       CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault,
						(CFStringRef)self,
				 		CFSTR(""),
	  					kCFStringEncodingUTF8);
    [result autorelease];
    return result;
}
@end</span>

 因为是扩展了NSString,使用的时候就比较简单了,首先在使用本类的文件中引入NSString+URLEncoding.h头文件,然后直接用NSString中的URLEncodedString与URLDecodedString方法,如:

NSString *urlToken = [token URLEncodedString];

分享到:
评论

相关推荐

    obj-c-makefile

    在IT行业中,Objective-C(简称Obj-C)是一种面向对象的编程语言,它是C语言的超集,主要用于苹果的iOS和macOS平台开发。在Windows环境下,尽管不是Objective-C的原生平台,但开发者仍然可以通过一些工具和配置来...

    obj-c2.0大全

    ### Obj-C2.0大全知识点解析 #### 一、Obj-C2.0简介与特性 Obj-C2.0是Objective-C编程语言的一个重要版本,它引入了许多新的特性和改进,旨在提高开发效率和代码质量。Obj-C2.0在继承Objective-C原有特性的同时,...

    Revit-Obj-Export-master.zip

    OBJ是一种通用的3D模型文件格式,广泛用于不同3D软件之间的数据交换。这个项目的重点是通过.NET C#编程语言实现这一导出过程,并且在导出时能减小文件大小,保持信息精简但不失关键细节,以实现轻量化。 描述中提到...

    模型格式转换工具(osgb-obj-ive)

    "模型格式转换工具(osgb-obj-ive)"就是一款专门用于处理这种问题的实用工具,它能帮助用户在osgb、obj、ive等格式之间进行转换。以下是对这些格式以及转换工具的详细介绍: 1. osgb格式: OpenSceneGraph Binary ...

    Python库 | dj-obj-update-0.4.0.tar.gz

    在后端开发中,尤其是涉及到数据库操作时,经常需要对对象进行复杂的更新操作。例如,在Django框架中,数据模型的实例通常需要更新多个字段,有时这些字段可能存在于嵌套的结构中。dj-obj-update库提供了一种简洁的...

    Obj-C对SVG渲染的实现

    SVGQuartzRenderer is a basic SVG renderer written in Obj-C that uses CoreGraphics to render SVG files. The goal of SVGQuartzRenderer is to be a simple drop-in SVG renderer that is compatible with the ...

    前端开源库-obj-flatten

    例如,如果有一个嵌套对象`{a: {b: {c: 1}}}`,使用"obj-flatten"后,会得到`{a.b.c: 1}`。这样,原本需要通过`obj.a.b.c`来访问的值,现在只需要通过`obj['a.b.c']`即可。 应用场景: 1. 数据序列化:在将对象发送...

    obj-edit.zip

    2. **基本操作**:提供基本的3D几何体创建,如立方体、球体、圆柱体等,以及对现有模型的移动、旋转和缩放操作。 3. **顶点编辑**:允许用户手动调整模型的顶点、边和面,实现精确的形状控制。 4. **纹理映射**:...

    开源的Obj-C对SVG的解析项目

    SVGQuartzRenderer is a basic SVG renderer written in Obj-C that uses CoreGraphics to render SVG files. The goal of SVGQuartzRenderer is to be a simple drop-in SVG renderer that is compatible with the ...

    3D-obj-viewer.zip

    OBJ格式是一种广泛使用的3D模型文件格式,由Wavefront Technologies公司开发,主要用于在3D图形领域交换数据。这个查看器使用户能够方便地浏览和检查OBJ文件,从而无需依赖专业的3D建模软件。 3D建模是计算机图形学...

    OBJ-File-Loader.rar_MFC OBJ LOADER_obj_obj loader_obj文件_obj文件格式

    OBJ文件是一种广泛使用的3D模型数据格式,由Wavefront Technologies公司开发,主要用于存储3D模型的几何信息,包括顶点、边、面等元素。它还可以包含纹理坐标、法线向量、颜色信息以及关于对象的其他元数据。在"OBJ-...

    IGES-STEP-to-OBJ-master_iges_C++IGES_

    理解STEP格式涉及到对ISO 10303标准的理解,以及如何处理AP203(基本产品数据)和AP214(详细工程定义)等应用协议。 OBJ文件格式则是一种简单的、无压缩的、基于文本的3D模型格式,广泛用于3D建模软件和游戏引擎中...

    swift-Yahoo开源的在线obj-c->swift工具

    Yahoo为了帮助开发者更方便地进行这种迁移,开源了一个在线工具——"swift-Yahoo开源的在线obj-c-&gt;swift工具"。这个工具允许开发者直接将Objective-C代码粘贴到网页中,然后自动生成对应的Swift代码。这大大简化了...

    PyPI 官网下载 | obj-71.tar.gz

    Python库由一组预定义的函数和类组成,可以被其他Python程序导入并使用,以实现特定的功能,如数据处理、网络通信、图形界面等。Python库极大地丰富了Python的功能,降低了开发者的编程难度。 在压缩包子文件的文件...

    c语言实现aes ecb模式加密,可以和java,c#,obj-c互相 加,解密。包含base64编码,urlEncode编码

    c语言实现aes ecb模式加密,可以和java,c#,obj-c互相 加,解密。包含base64编码,urlEncode编码 注意,该算法里面的密文是转换成16进制的字串,如果不要16进制,可自行转换,内的函数。 vc6,vs2008,可编译。

    lha.rar_lha_lha压缩 obj-c

    本篇文章将围绕lha压缩技术展开,结合其C语言源代码,探讨其工作原理,并浅析如何使用Objective-C进行实现。 lha压缩算法的核心在于它的滑动窗口技术和哈夫曼编码。滑动窗口技术允许程序对输入数据流进行连续的局部...

    PyPI 官网下载 | libobj-12.tar.gz

    在Python中,库是一种预编写好的代码模块,它们提供了各种功能,帮助开发者快速实现特定任务,如网络通信、数据处理、科学计算等。"libobj-12"可能是一个专注于特定领域或具有特定功能的库,但具体的功能需要解压并...

    obj-file-relocation.rar_obj 解析

    总结来说,"obj-file-relocation.rar_obj"的解析涉及了对可重定位文件的基本理解和实践应用,特别是对重定位过程的深入分析,这对于理解编译器和链接器的工作原理,以及排查和修复链接错误具有重要意义。通过学习...

    obj-spec.pdf

    OBJ文件格式支持多种类型的几何数据表示,包括多边形网格和自由形式曲面等。本文档旨在详细介绍OBJ文件格式的各项特性及其在Wavefront Advanced Visualizer中的应用。 #### 二、OBJ文件格式介绍 **1. 文件结构** ...

    PyPI 官网下载 | obj-92.tar.gz

    Python库可以包含各种功能,如数据处理、网络通信、科学计算、图形界面等。 对于压缩包内的文件"obj-92",如果没有更具体的信息,我们假设它可能是以下几种情况之一: 1. **源代码目录**:包含了`__init__.py`...

Global site tag (gtag.js) - Google Analytics