忍者ブログ

佐崎司と愉快な仲間達

ゲーム、アニメ、CG、iOS開発など思いついたことを記事にしています。 管理人が3人いますので、記事にまとまりはないと思います。 iPhoneアプリのレビュー依頼も受け付けています。

iOSの文字コードについて

わか


iOSにて文字コードを扱う(エンコード/デコード)際には2種類あります。
一つはCFStringencoding。もうひとつはNSStringEncodingです。
両者ともできることは同じですが、使用できる関数が異なります。


UTF8の定数
・kCFStringEncodingUTF8
・NSUTF8StringEncoding

上記のように文字コード毎に、それぞれ違う定数が割り振られており、相互に変換も可能です。
CFStringConvertEncodingToNSStringEncoding()
CFStringConvertNSStringEncodingToEncoding()

NSStringEncodingの方がENUM定義されている文字コードの数が少ないですが、上記の変換関数でCFStringencodingの定数を変換するとENUM定義されていない定数が得られます。(私が知らないだけで、どこかのヘッダに定義されているかもしれませんが・・・)
得られた定数をエンコード関数に渡してやると、きちんと変換された文字列が得られます。
最初はCFStringencodingの方が変換できる文字コードが多いのかと勘違いしていましたが、そんなことはないようです。

各国の主要な文字コードを簡単に変換できるので、便利ですね。

拍手[0回]

PR