zoukankan      html  css  js  c++  java
  • Objective-C urlEncode urlDecode

    @interface NSString (stringByDecodingURLFormat)
    
    - (NSString *)stringByDecodingURLFormat;
    - (NSString*)stringByURLEncodingStringParameter;
    @end
    @implementation NSString(stringByDecodingURLFormat)
    
    - (NSString *)stringByDecodingURLFormat
    {
        NSString *result = [(NSString *)self stringByReplacingOccurrencesOfString:@"+" withString:@" "];
        result = [result stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
        return result;
    }
    
    //encode
    - (NSString*)stringByURLEncodingStringParameter
    {
        
        NSString *resultStr = self;
        
        CFStringRef originalString = (__bridge CFStringRef) self;
        CFStringRef leaveUnescaped = CFSTR(" ");
        CFStringRef forceEscaped = CFSTR("!*'();:@&=+$,/?%#[]");
        
        CFStringRef escapedStr;
        escapedStr = CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
                                                             originalString,
                                                             leaveUnescaped,
                                                             forceEscaped,
                                                             kCFStringEncodingUTF8);
        
        if( escapedStr )
        {
            NSMutableString *mutableStr = [NSMutableString stringWithString:(__bridge NSString *)escapedStr];
            CFRelease(escapedStr);
            [mutableStr replaceOccurrencesOfString:@" "
                                        withString:@"%20"
                                           options:0
                                             range:NSMakeRange(0, [mutableStr length])];
            resultStr = mutableStr;
        }
        return resultStr;
    }
    @end

    把以上代码假如到NSString 的分类就可以直接使用

  • 相关阅读:
    第01组 Beta冲刺(4/5)
    第01组 Beta冲刺(3/5)
    第01组 Beta冲刺(2/5)
    第01组 Beta冲刺(1/5)
    2019 SDN上机第6次作业
    2019 SDN阅读作业(2)
    2019 SDN上机第5次作业
    第01组 Alpha事后诸葛亮
    第01组 Alpha冲刺(6/6)
    团队作业第三次—项目需求分析
  • 原文地址:https://www.cnblogs.com/code-changeworld/p/4707861.html
Copyright © 2011-2022 走看看