文字を文字列に変換する方法(unichar to NSString)
クラスメソッドstringWithFormat:
によるフォーマット機能を活用することで、unichar型の文字をNSString型の文字列に変換することができます。
NSString *s = [NSString stringWithFormat:@"%C", 0x3042]; // s == @"あ"
このように、Objective-Cでは変換指定子として%C
を用いることができます。一般的な%c
の場合は8ビットのASCII文字列として読み取られますが、%C
であれば16ビットのUnicode文字として扱われます。
クラスメソッドstringWithCharacters:
を活用する方法もあります。
unichar c = 0x3042;
[NSString stringWithCharacters:&c length:1]; // @"あ"
unichar s[] = {0x3042, 0x303};
[NSString stringWithCharacters:&s length:2]; // @"あい"
第一引数には文字列のポインタを指定します。第二引数には読み取る文字列の長さを指定します。
文字列を文字に変換する方法(NSString to unichar)
NSString型の文字列をunichar型の文字に変換する場合には、characterAtIndex:
メソッドを用います。
unichar a = [@"あい" characterAtIndex:0]; // a == 'あ'
unichar i = [@"あい" characterAtIndex:1]; // i == 'い'
第一引数には文字列のインデックスを指定します。インデックスとして0
が指定された場合には、文字列の先頭文字が取得できます。