2012-07-02 3 views

답변

1

물론, 당신은이 방법을 선택할 수 있습니다, 나는 그것이 도움이되기를 바랍니다.

//encode URL string 

+(NSString *)URLEncodedString:(NSString *)str 
{ 

    NSString *encodedString = (NSString *) 
    CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, 
                   (CFStringRef)str, 
                   NULL, 
                   (CFStringRef)@"!*'();:@&=+$,/?%#[]", 
                   kCFStringEncodingUTF8)); 

    return encodedString; 
} 

} 

//decode URL string 

+(NSString *)URLDecodedString:(NSString *)str 
{ 

    NSString *decodedString=(__bridge_transfer NSString *)CFURLCreateStringByReplacingPercentEscapesUsingEncoding(NULL, (__bridge CFStringRef)str, CFSTR(""), CFStringConvertNSStringEncodingToEncoding(NSUTF8StringEncoding)); 

    return decodedString; 
} 
+0

감사합니다. Sameek Mishara – HiroGuo

0

이제 stringByAddingPercentEscapesUsingEncoding:은 더 이상 사용되지 않습니다. 다음은 encodeURIComponent의 iOS 7 이상 버전입니다.

[str stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]