在進行sina微博API的開發中,
著實學到了不少的東西。下面這2個函數是對NSString的擴充,可以方便的編解碼NSString為UTF8。
這兩個函數是從OAuthConsumer中摘出來的。
標頭檔:
@interface NSString (OAURLEncodingAdditions)- (NSString *)URLEncodedString;- (NSString *)URLDecodedString;@end
m檔案:
@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 *temp = [@"測試utf8" URLEncodedString];
NSString *decoded = [temp URLDecodedString];
轉自:http://borluse.wordpress.com/2011/01/28/一個比較方便的轉換nsstring為utf8編碼的函數/