iPhone開発--Obj-CでデータなどをURLEncoding符号化
Objective-cでネットワークプログラミングを行う場合、+番号を符号化すると%2 bになるようにURLEncoding符号化にデータを変換することがよくある.ここでは実装を示します.
NSStringを拡張しているので、使うときは比較的簡単ですが、まずこのクラスのファイルにNSString+URLEncodingを導入します.hヘッダファイルは、NSStringのURLEncodedStringとURLDecodedStringメソッドを直接使用します.たとえば、NSString*urlToken=[token URLEncodedString];
転載先:http://www.voland.com.cn/urlencoding_for_objective-c
//NSString+URLEncoding.h
#import
@interface NSString (URLEncodingAdditions)
- (NSString *)URLEncodedString;
- (NSString *)URLDecodedString;
@end
//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
NSStringを拡張しているので、使うときは比較的簡単ですが、まずこのクラスのファイルにNSString+URLEncodingを導入します.hヘッダファイルは、NSStringのURLEncodedStringとURLDecodedStringメソッドを直接使用します.たとえば、NSString*urlToken=[token URLEncodedString];
転載先:http://www.voland.com.cn/urlencoding_for_objective-c