stringByAddingPercentEscapesUsingEncoding:
指定したエンコーディングを使ってURLエンコーディングの文字列を返します
-(NSString *)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding )encoding
解説
指定したエンコーディングを使ってURLエンコーディングの文字列を返します。
特定の文字がエスケープできない場合があるようです。
CFURLCreateStringByAddingPercentEscapes()を使うことが出来ます。
-(void)method075 { NSString *encodedString = (__bridge NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)@"target strings", NULL, (CFStringRef)@";,/?:@&=+$#", kCFStringEncodingUTF8); NSLog(@"%s %@",__FUNCTION__,encodedString); //=>target%20strings }
【NSStringEncoding】
NSASCIIStringEncoding
NSNEXTSTEPStringEncoding
NSJapaneseEUCStringEncoding
NSUTF8StringEncoding
NSISOLatin1StringEncoding
NSSymbolStringEncoding
NSNonLossyASCIIStringEncoding
NSShiftJISStringEncoding
NSISOLatin2StringEncoding
NSUnicodeStringEncoding
NSWindowsCP1251StringEncoding
NSWindowsCP1252StringEncoding
NSWindowsCP1253StringEncoding
NSWindowsCP1254StringEncoding
NSWindowsCP1250StringEncoding
NSISO2022JPStringEncoding
NSMacOSRomanStringEncoding
NSProprietaryStringEncoding
返り値
( NSString * )
データ
引数
( NSStringEncoding )encoding
フレームワーク
Foundation
クラス
NSString
Instance Methods
使用可能
10.3
例文
#pragma mark stringByAddingPercentEscapesUsingEncoding: -(NSString *)method012 { NSString *str1 = [NSString stringWithString:@"aaa bbb"]; NSString *str2 = [str1 stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding] ; NSLog(@"str1 %@,str2 %@",str1,str2); NSString *ret = [str1 stringByReplacingPercentEscapesUsingEncoding:NSASCIIStringEncoding]; return ret; }