我在谷歌上查不到这个。
Objective-C是否有用于编码URI组件的等效方法?
http://www.w3schools.com/jsref/jsref_encodeuricomponent.asp
这似乎是一个非常常见的用例,但我在Objective-C中找不到任何关于它的文档。
谢谢。
发布于 2012-07-03 06:55:40
-[NSString stringByAddingPercentEscapesUsingEncoding:]是实现这一点的最简单方法。
发布于 2016-07-14 17:28:29
当然,你可以选择这种方法,我希望这会对你有所帮助。
//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;
}发布于 2017-02-11 06:36:17
现在stringByAddingPercentEscapesUsingEncoding:被弃用了。以下是encodeURIComponent的iOS 7+等价物
[str stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]https://stackoverflow.com/questions/11302172
复制相似问题