Vin*_*nyD 29 objective-c urldecode ios
stringByReplacingPercentEscapesUsingEncoding方法无法正常工作,因为它不解码不以%字符开头的特殊符号,即+字符.有谁知道在iOS中更好的方法吗?
这是我目前正在使用的:
NSString *path = [@"path+with+spaces"
stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
Run Code Online (Sandbox Code Playgroud)
这是输出的一个例子:
路径+与+空格
rob*_*off 52
NSString *path = [[@"path+with+spaces"
stringByReplacingOccurrencesOfString:@"+" withString:@" "]
stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
Run Code Online (Sandbox Code Playgroud)
请注意,for-for-space替换仅用于application/x-www-form-urlencoded
数据 - URL的查询字符串部分或POST
请求的主体.
del*_*247 20
// Decode a percent escape encoded string.
- (NSString*) decodeFromPercentEscapeString:(NSString *) string {
return (__bridge NSString *) CFURLCreateStringByReplacingPercentEscapesUsingEncoding(NULL,
(__bridge CFStringRef) string,
CFSTR(""),
kCFStringEncodingUTF8);
}
Run Code Online (Sandbox Code Playgroud)
http://cybersam.com/ios-dev/proper-url-percent-encoding-in-ios
这似乎是首选方式,因为......"显然"这是苹果所知道的"虫子",但他们还没有采取任何措施......(http://simonwoodside.com/weblog/2009/4/22/how_to_really_url_encode /)
归档时间: |
|
查看次数: |
35238 次 |
最近记录: |