iOS URLEncode

作者: 公爵海恩庭斯 | 来源:发表于2016-04-21 16:58 被阅读14170次

之前的 URLEncode 实现收到了 Xcode 的黄警告:

- (NSString *)URLDecode
{
    return [self stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
}

- (NSString *)URLEncode
{
    return [self urlEncodeUsingEncoding:NSUTF8StringEncoding];
}

- (NSString *)urlEncodeUsingEncoding:(NSStringEncoding)encoding
{
    return (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(
                                                               NULL,
                                                               (__bridge CFStringRef)self,
                                                               NULL,
                                                               (CFStringRef)@"!*'\"();:@&=+$,/?%#[]% ",
                                                               CFStringConvertNSStringEncodingToEncoding(encoding)));
}
警告内容

于是换成了新的实现( iOS 7 和更高):

extension String {
    // URL Decode
    func URLDecode() -> String? {
        return self.stringByRemovingPercentEncoding // `stringByReplacingPercentEscapesUsingEncoding` is deprecated
    }
    
    // URL Encode
    func URLEncode() -> String? {
        return self.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet(charactersInString: "!*'\"();:@&=+$,/?%#[]% ").invertedSet) // `CFURLCreateStringByAddingPercentEscapes` is deprecated
    }
}

参考资料

相关文章

  • iOS URLEncode

    之前的 URLEncode 实现收到了 Xcode 的黄警告: 于是换成了新的实现( iOS 7 和更高): 参考...

  • iOS中urlencode

    iOS开发过程中有很多的编码,最近使用了urlencode编码,使用这个编码的主要作用是解决url中出现中文或者特...

  • iOS swift urlencode

    swift 升级到5,更新了三方库,支持的系统也从ios 8 升到了 ios 10 。发现有很多方法过期了。1.编...

  • iOS 转码

    URLEncode iOS 开发中请求访问 Http(s) 时,必须对 URL 进行转码 (Encode),如果是...

  • iOS的 UrlEncode编码

    首先写一个string类扩展 NSString +URL .h文件里面这么写 .m里面这么去实现 调用已经在.h...

  • iOS urlEncode 和 Decode

    在做iOS开发的时候,处理表情上传的时候,由于很多时候,表情并没有被有效支持,这里我们对表情符号进行encode ...

  • 技巧性代码

    1. 函数调用function run_urlencode($input, $urlencode = false)...

  • iOS URLEncode空格转加号

    问题:当我提交一个时间2021-09-09 12:30给接口,服务器日志打印的日志确变成了2021-09-09+1...

  • get和post

    urllib.parse.urlencode() 编码工作使用urllib.parse模块下的urlencode(...

  • UrlEncode

    using System.Text;using System.Collections;public static ...

网友评论

    本文标题:iOS URLEncode

    本文链接:https://www.haomeiwen.com/subject/vyvtrttx.html