NSString 转换特殊字符“&”“@”“#”等

来源:互联网 发布:家庭千兆网络布置 编辑:程序博客网 时间:2024/05/18 02:33

转自 http://blog.csdn.net/zhaozy55555/article/details/7671499

你提供的 URL 字符串 里面可能包含某些字符,比如‘$‘ ‘&’ ‘?’...等,这些字符在 URL 语法中是具有特殊语法含义的,

比如 URL :http://www.baidu.com/s?wd=%BD%AA%C3%C8%D1%BF&rsv_bp=0&rsv_spt=3&inputT=3512 

中 的 & 起到分割作用 等等,如果 你提供的URL 本身就含有 这些字符,就需要把这些字符 转化为 “%+ASCII” 形式,以免造成冲突。

  这就引入:CFURLCreateStringByAddingPercentEscapes 函数。

  该函数将 将要添加到URL的字符串进行特殊处理,如果这些字符串含有 &, ? 这些特殊字符,用“%+ASCII” 代替之。


 NSString * encodedString = (NSString *)CFURLCreateStringByAddingPercentEscapes(

    NULL,

    (CFStringRef)unencodedString,

    NULL,

    (CFStringRef)@"!*'();:@&=+$,/?%#[]",

    kCFStringEncodingUTF8 );


原创粉丝点击