标准库中是否有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
,该字符串可以免费桥接到可选的SwiftString
例如:
let enc = String.Encoding.isoLatin2
let cfEnc = CFStringConvertNSStringEncodingToEncoding(enc.rawValue)
if let ianaName = CFStringConvertEncodingToIANACharSetName(cfEnc) as String? {
print(ianaName) // iso-8859-2
}
啊,NSStringEncoding
!这是缺失的一环。