在我的应用中,我使用stringbyaddingpercentescapesusingencoding:NSUTF8StringEncoding
转换特殊字符。但有些角色(如&, - ,')没有转换。
锥形之后的刺痛:Macklemore%20&%20Ryan%20Lewis%20-%20Can't%20Hold%20Us
在上面的字符串中,&,-,'
我该如何解决这个问题。请建议我。
答案 0 :(得分:0)
试试这个
示例强>
NSLog(@"%@",[self urlEncodeUsingEncoding:kCFStringEncodingUTF8 WithURLString:@"&-"]);
//添加特殊字符
- (NSString *)urlEncodeUsingEncoding:(CFStringEncoding)encoding WithURLString:(NSString *)strUrl {
return CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
( CFStringRef)strUrl,
NULL,
CFSTR("!*'()+$#[]&-"),
encoding));
}
答案 1 :(得分:0)
您应该使用NSNonLossyASCIIStringEncoding代替NSUTF8StringEncoding
stringbyaddingpercentescapesusingencoding:NSNonLossyASCIIStringEncoding