`
dcj3sjt126com
  • 浏览: 1818542 次
  • 性别: 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];

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics