zoukankan      html  css  js  c++  java
  • 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];

  • 相关阅读:
    [hdu1402]A * B Problem Plus(NTT)
    拦截导弹问题(Noip1999)
    删数问题(Noip1994)
    1217:棋盘问题
    随笔功能测试
    教师派8
    教师派7
    教师派6
    教师派5
    教室派4
  • 原文地址:https://www.cnblogs.com/kenshinobiy/p/4819259.html
Copyright © 2011-2022 走看看