OC URL编码和URL解码

URL编码是一种常见的编码方式,作用不多说,直接上代码。

  • URL编码:
- (NSString *)URLEncodedString {
    // CharactersToBeEscaped = @":/?&=;+!@#$()~',*";
    // CharactersToLeaveUnescaped = @"[].";
    NSString *unencodedString = self;
    NSString *encodedString = (NSString *)
    CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
                                                              (CFStringRef)unencodedString,
                                                              NULL,
                                                              (CFStringRef)@"!*'();:@&=+$,/?%#[]",                                                       kCFStringEncodingUTF8));
    return encodedString;
}

 

  • URL解码:

- (NSString *)URLDecodedString {
    NSString *result = [(NSString *)self stringByReplacingOccurrencesOfString:@"+" withString:@" "];
    return [result stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
}

建议这两个方法放在NSString的分类中,并且声明为实例方法,这样可以直接用NSString的对象去调用。
- 调用示例

NSString * string = @"zhansan啦啦啦啦1234567";
NSString * urlEncode = [string URLEncodedString];
NSString * urlDecode = [string URLDecodedString];
NSLog(@"urlEncode == %@",urlEncode);
NSLog(@"urlDecode == %@",urlDecode);
  • 打印结果:
urlEncode == zhansan%E5%95%A6%E5%95%A6%E5%95%A6%E5%95%A61234567
urlDecode == zhansan啦啦啦啦1234567

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值