Iphone SDk:URL字符串中的&符问题 [英] Iphone SDk : Issue with ampersand in the URL string

查看:73
本文介绍了Iphone SDk:URL字符串中的&符问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们如何传递字符串Mr.X&先生在URL中。

how do we pass a string Mr.X & Mr.Y in the URL.

我试过这个但是这个人做了所有的字符但是&符号。

I have tried this but this one does all the chars but ampersand.

[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]

感谢您的帮助。

推荐答案

甚至更短:

@implementation NSString (Escaping)
- (NSString*)stringWithPercentEscape {            
    return [(NSString *) CFURLCreateStringByAddingPercentEscapes(
        NULL, 
        (CFStringRef)[[self mutableCopy] autorelease], 
        NULL, 
        CFSTR("=,!$&'()*+;@?\n\"<>#\t :/"),
        kCFStringEncodingUTF8) autorelease];
}
@end

这里再次作为ARC符合内联函数助手:

And here it is again as an ARC conform inline function helper:

#if __has_feature(objc_arc)
static inline NSString *hxURLEscape(NSString *v) {
    static CFStringRef _hxURLEscapeChars = CFSTR("=,!$&'()*+;@?\r\n\"<>#\t :/");
    return ((__bridge_transfer NSString *)CFURLCreateStringByAddingPercentEscapes(
        NULL, 
        (__bridge CFStringRef)[v mutableCopy], 
        NULL, 
        _hxURLEscapeChars, 
        kCFStringEncodingUTF8));
}
#endif

这篇关于Iphone SDk:URL字符串中的&符问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆