LoginSignup
1
1

More than 5 years have passed since last update.

NSStringEncoding と IANA 文字列とを相互に変換する

Posted at

目的

Cocoa フレームワークで使われる NSStringEncoding と Web などで使われる IANA 文字列 とを相互に変換する方法です。

たとえば UTF8 文字セットを NSStringEncoding で表現すると NSUTF8StringEncoding になり、IANA 文字列 で表現すると utf-8 になります。

IANA 文字列 を NSStringEncoding に変換する

IANA 文字列NSStringEncoding に変換するには、IANA 文字列 をいったん CFStringEncoding にして、それを NSStringEncoding にします。

let charset = "utf-8"
let cfEncoding = CFStringConvertIANACharSetNameToEncoding(charset)
let nsEncoding = CFStringConvertEncodingToNSStringEncoding(cfEncoding)

NSStringEncoding を IANA 文字列に変換する

NSStringEncoding から IANA 文字列 への変換は、NSStringEncoding をいったん CFStringEncoding にしてから、それを IANA 文字列 にします。

let nsEncoding = NSUTF8StringEncoding
let cfEncoding = CFStringConvertNSStringEncodingToEncoding(nsEncoding)
let charset = CFStringConvertEncodingToIANACharSetName(cfEncoding)

[詳細と留意点] http://ez-net.jp/article/CA/fPXLe9NO/BrX0FGCxLZsQ/

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1