半角カナを全角カナに変換する。

かんばんわ。

NSMutableStringとCFMutableStringRefは相互に型変換できるので、CFStringTransformを使えば半角カタカナを全角カタカナに変換できます。

 // 半角カナを全角カナに変換 
 NSMutableString* string =[[NSMutableString alloc] initWithFormat:@"ヴァーパピガギグ"];
 CFStringTransform((CFMutableStringRef)string, NULL, kCFStringTransformFullwidthHalfwidth, true);
 [string release];

transformパラメータを変更することで様々な変換も可能です。カタカナをひらがなにすることも可能。すごいすごい。
上のコードではreverseパラメータをtrueにして逆変換していますが、falseにすると全角カナが半角カナになります。
また、 kCFStringTransformFullwidthHalfwidth はカタカナに限らず英字記号にも対応しています。

 // 全角記号を半角記号に変換 
 NSMutableString* string = [[NSMutableString alloc] initWithFormat:@"!”#$%&’()"];
 CFStringTransform((CFMutableStringRef)string, NULL, kCFStringTransformFullwidthHalfwidth, false);
 [string release];