URLエンコード&デコード(iOS7以上)このブロックを編集する
NSString *targetString = @"http://hogehoge.com/?param=!*'();:@&=+$,/?%#[]";
NSString *encodeString = [targetString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet alphanumericCharacterSet]];
NSString *decodeString = [encodeString stringByRemovingPercentEncoding];
NSLog(@"encode %@", encodeString);
NSLog(@"decode %@", decodeString);
指定文字以外をエンコード&デコードする(a, b以外)このブロックを編集する
NSString *targetString = @"aaaaa,bbbb";
NSString *encodeString = [targetString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet characterSetWithCharactersInString:@"ab"]];
NSString *decodeString = [encodeString stringByRemovingPercentEncoding];
NSLog(@"encode %@", encodeString);
NSLog(@"decode %@", decodeString);
指定文字(UTF8)をエンコード&デコードするメソッドこのブロックを編集する
/**
* URLエンコードする。
* @param string エンコード対象文字列
* @return コンコード文字列
*/
- (NSString *)urlEncode:(NSString *)string
{
return (__bridge_transfer NSString *)
CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
(CFStringRef)string,
NULL,
CFSTR("!*'();:@&=+$,/?%#[]"),
kCFStringEncodingUTF8);
}
- (NSString *)urlDecode:(NSString *)string
{
return (NSString *)
CFBridgingRelease(CFURLCreateStringByReplacingPercentEscapesUsingEncoding(
kCFAllocatorDefault,
(__bridge CFStringRef)string,
CFSTR(""),
kCFStringEncodingUTF8));
}
最終更新:2015年10月07日 14:23