标准库中是否有Swift和x27之间的映射;编码和IANA字符集名称?

标准库中是否有Swift和x27之间的映射;编码和IANA字符集名称?,swift,character-encoding,Swift,Character Encoding,标准库中是否存在String.Encoding枚举与标准IANA字符集名称之间的映射,例如String.Encoding.utf8的“UTF-8”?我找不到 我知道Foundation的CFStringEncoding可以映射到IANA字符集名称,但我找不到从String.Encoding到CFStringEncoding的方法CFStringEncoding只是UInt32的类型别名,而String.Encoding枚举由UInt支持,但除非我犯了一些简单的错误,它们似乎不对应。字符串的原始值

标准库中是否存在
String.Encoding
枚举与标准IANA字符集名称之间的映射,例如
String.Encoding.utf8的“UTF-8”?我找不到


我知道Foundation的
CFStringEncoding
可以映射到IANA字符集名称,但我找不到从
String.Encoding
CFStringEncoding
的方法
CFStringEncoding
只是
UInt32
的类型别名,而
String.Encoding
枚举由
UInt
支持,但除非我犯了一些简单的错误,它们似乎不对应。

字符串的原始值。
编码是一种
NSStringEncoding
,可以使用转换为
CFStringEncoding
。然后使用确定IANA字符集名称。此函数返回可选的
CFString
,该字符串可以免费桥接到可选的Swift
String

例如:

let enc = String.Encoding.isoLatin2
let cfEnc = CFStringConvertNSStringEncodingToEncoding(enc.rawValue)
if let ianaName = CFStringConvertEncodingToIANACharSetName(cfEnc) as String? {
    print(ianaName) // iso-8859-2
}

啊,
NSStringEncoding
!这是缺失的一环。