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 的分类就可以直接使用

  • 相关阅读:
    EL+Serilog日志
    HttpClientFactory-向外请求的最佳
    Autofac依赖注入
    .Net Core MemoryCache
    时间复杂度和空间复杂度
    中间件-异常处理
    依赖注入-1
    使用并发集合
    安卓刷机&root
    Mac Android Studio 常用快捷键大全
  • 原文地址:https://www.cnblogs.com/code-changeworld/p/4707861.html
Copyright © 2011-2022 走看看