首页 > 技术文章 > Objective C NSString 编码成URL 特殊字符处理

yellowman 2016-08-17 12:05 原文

找了一下网上的教程都是使用类似以下代码,Xcode提示这个CoreFoundation不受ARC管理,所以折中的方式是添加__bridge.

    NSString *encodedValue = (__bridge NSString *)CFURLCreateStringByAddingPercentEscapes(nil,

                                                                                (CFStringRef)unencodedString, nil,

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

但是其实有很好的一个解决方案

    NSString *encodedValue=[unencodedString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet alphanumericCharacterSet]];

使用NSString内置的API即可。

推荐阅读