objective-c中的URL字符串转义表示? (“编码百分比”)

时间:2012-01-14 00:22:00

标签: objective-c url ios5 escaping

我想在 IOS5 下的objective-c中做一个非常简单的任务:将URL字符串转换为其转义表示。

我尝试了很多方法,但似乎都没有效果。

我无法使stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding工作。它转换像áíűőüöúóé这样的字母,但不会将其他字母转换为=。

我想在.net中使用像Uri.EscapeDataString(http://msdn.microsoft.com/en-us/library/system.uri.escapedatastring.aspx)这样的函数。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以向NSString添加类似

的类别
- (NSString *)ps_stringByAddingPercentEscapes;
{
    return [(NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, 
                                                               (CFStringRef)self, 
                                                               NULL, 
                                                               (CFStringRef)@":/?#[]@!$&’()*+,;=", 
                                                               kCFStringEncodingUTF8) autorelease];
}

@":/?#[]@!$&’()*+,;="替换为您关注的字符。