使用UTF-8编码将字符串转换为数据是否可以失败



为了将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)

最新更新