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

  • 相关阅读:
    如何处理iOS中照片的方向
    Builder Pattern 在 Objective-C 中的使用
    多线程(三)-- 线程安全问题
    多线程(二)--NSThread基本使用
    多线程 (一)
    报错:Request failed: unacceptable content-type: text/html
    Cocoapods简单安装和使用
    Objective
    Objective
    Python学习笔记(一)--注释
  • 原文地址:https://www.cnblogs.com/code-changeworld/p/4707861.html
Copyright © 2011-2022 走看看