Skip to content

Instantly share code, notes, and snippets.

@siberianisaev
Created May 11, 2014 17:44
Show Gist options
  • Save siberianisaev/44dc6131a8996c520c1b to your computer and use it in GitHub Desktop.
Save siberianisaev/44dc6131a8996c520c1b to your computer and use it in GitHub Desktop.
NSString+URLEncoding
#import <Foundation/Foundation.h>
@interface NSString (URLEncoding)
- (NSString *)urlEncodedString;
- (NSString *)stringByDecodingURLFormat;
@end
#import "NSString+URLEncoding.h"
static NSString * const kCharactersToLeaveUnescaped = @"!*'\"();:@&=+$,/?%#[]% ";
@implementation NSString (URLEncoding)
- (NSString *)urlEncodedString
{
return (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(NULL,(CFStringRef)self,NULL,(CFStringRef)kCharactersToLeaveUnescaped,CFStringConvertNSStringEncodingToEncoding(NSUTF8StringEncoding)));
}
- (NSString *)stringByDecodingURLFormat
{
NSString *result = [(NSString *)self stringByReplacingOccurrencesOfString:@"+" withString:@" "];
result = [result stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
return result;
}
@end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment