为了将String
实例转换为Swift中的Data
实例,您可以使用data(using:allowLossyConversion:)
,该实例可以返回可选的Data
实例。
如果编码是UTF-8(String.Encoding.utf8
)?
nil
如果返回值不能为 nil
,请始终强制施加这样的转换。
UTF-8可以代表所有有效的Unicode代码点,因此转换swift字符串到UTF-8数据不会失败。
中的强制包装let string = "some string .."
let data = string.data(using: .utf8)!
是安全的。
对于.utf16
或.utf32
也是如此,但不适合仅代表限制字符集的编码,例如.ascii
或.isoLatin1
。
您可以使用字符串的.utf8
视图来创建UTF-8数据,避免强制解开:
let string = "some string .."
let data = Data(string.utf8)