macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

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

クラス

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;    
}