In iOS8 and prior I can use:
NSString *str = ...; // some URL
NSString *result = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
iOS9中stringByAddingPercentEscapesUsingEncoding
已被替换为stringByAddingPercentEncodingWithAllowedCharacters
:
NSString *str = ...; // some URL
NSCharacterSet *set = ???; // where to find set for NSUTF8StringEncoding?
NSString *result = [str stringByAddingPercentEncodingWithAllowedCharacters:set];
我的问题是:在哪里找到需要的NSCharacterSet
(NSUTF8StringEncoding
),以便正确替换stringByAddingPercentEscapesUsingEncoding
?
NSURLComponents
,可以为您处理百分号编码。 - Antonio FavataNSURLComponents
(每个组件都使用相应的NSCharacterSet
进行百分比编码)是正确的方法。 - Antonio Favata