iOS urlencoded 轉碼解碼

+ (NSString *)encodeToPercentEscapeString: (NSString *) input

{

    // Encode all the reserved characters, per RFC 3986

    // ()

    NSString *outputStr = (NSString *)

    CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,

                                                              (CFStringRef)input,

                                                              NULL,

                                                              (CFStringRef)@"!*'();:@&=+$,/?%#[]",

                                                              kCFStringEncodingUTF8));

    return outputStr;

}


+ (NSString *)decodeFromPercentEscapeString: (NSString *) input

{

    NSMutableString *outputStr = [NSMutableString stringWithString:input];

    [outputStr replaceOccurrencesOfString:@"+"

                               withString:@" "

                                  options:NSLiteralSearch

                                    range:NSMakeRange(0, [outputStr length])];

    

    return [outputStr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章