我在使用Google搜索時遇到了麻煩。encodeURIComponent等效對象-c
Objective-C是否具有用於編碼URI組件的等效方法?
http://www.w3schools.com/jsref/jsref_encodeuricomponent.asp
這似乎是一個很常見的情況,但我無法找到它在Objective-C的任何文件。
謝謝。
我在使用Google搜索時遇到了麻煩。encodeURIComponent等效對象-c
Objective-C是否具有用於編碼URI組件的等效方法?
http://www.w3schools.com/jsref/jsref_encodeuricomponent.asp
這似乎是一個很常見的情況,但我無法找到它在Objective-C的任何文件。
謝謝。
當然,你可以選擇這個方法,希望對你有所幫助。
//encode URL string
+(NSString *)URLEncodedString:(NSString *)str
{
NSString *encodedString = (NSString *)
CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
(CFStringRef)str,
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8));
return encodedString;
}
}
//decode URL string
+(NSString *)URLDecodedString:(NSString *)str
{
NSString *decodedString=(__bridge_transfer NSString *)CFURLCreateStringByReplacingPercentEscapesUsingEncoding(NULL, (__bridge CFStringRef)str, CFSTR(""), CFStringConvertNSStringEncodingToEncoding(NSUTF8StringEncoding));
return decodedString;
}
現在不推薦使用stringByAddingPercentEscapesUsingEncoding:
。這裏的iOS 7+相當於encodeURIComponent
:
[str stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]
謝謝! Sameek Mishara – HiroGuo