NSString+URLEncoding.h --使用Obj-C对数据等进行URLEncoding编码

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

 

[cpp] view plaincopy
 

//NSString+URLEncoding.h  

  1. #import   
  2. @interface NSString (URLEncodingAdditions)  
  3. - (NSString *)URLEncodedString;  
  4. - (NSString *)URLDecodedString;  
  5. @end</span>  

 

[cpp] view plaincopy
 

//NSString+URLEncoding.m  

  1. #import "NSString+URLEncoding.h"  
  2. @implementation NSString (OAURLEncodingAdditions)  
  3. - (NSString *)URLEncodedString  
  4. {  
  5.     NSString *result = (NSString *)  
  6.        CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,  
  7.                                                   (CFStringRef)self,  
  8.                                                   NULL,  
  9.                                                   CFSTR("!*'();:@&=+$,/?%#[] "),  
  10.                                                   kCFStringEncodingUTF8);  
  11.     [result autorelease];  
  12. return result;  
  13. }  
  14. - (NSString*)URLDecodedString  
  15. {  
  16.     NSString *result = (NSString *)  
  17.        CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault,  
  18.                         (CFStringRef)self,  
  19.                         CFSTR(""),  
  20.                         kCFStringEncodingUTF8);  
  21.     [result autorelease];  
  22. return result;  
  23. }  
  24. @end</span>  

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

posted @ 2015-09-18 15:06  谦信君  阅读(432)  评论(0编辑  收藏  举报