目的
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)