在进行sina微博API的开发中, 着实学到了不少的东西。下面这2个函数是对NSString的扩展,可以方便的编解码NSString为UTF8。 这两个函数是从OAuthConsumer中摘出来的。
头文件:
@interface NSString (OAURLEncodingAdditions) - (NSString *)URLEncodedString; - (NSString *)URLDecodedString; @end
m文件:
@implementation NSString (OAURLEncodingAdditions) - (NSString *)URLEncodedString{NSString *result = (NSString *)CFURLCreateStringByAddin gPercentEscapes(kCFAllocatorDefault, (CFStringRef)self, NULL, CFSTR("!*'();:@&=+$,/?%#[]"), kCFStringEncodingUTF8); [result autorelease]; return result; } - (NSString*)URLDecodedString{ NSString *result = (NSString *)CFURLCreateStringByRepla cingPercentEscapesUsingE ncoding(kCFAllocatorDefault, (CFStringRef)self, CFSTR(""), kCFStringEncodingUTF8); [result autorelease]; return result; } @end
如果需要转换一个NSString, 只需要
NSString *temp = [@"测试utf8" URLEncodedString];
NSString *decoded = [temp URLDecodedString];
转自:http://borluse.wordpress.com/2011/01/28/一个比较方便的转换nsstring为utf8编码的函数/