我知道有关NSData的一些关于Swift3的问题。我很好奇如何在Swift3字符串之间转换为UTF8编码(带或不带零终止)到Swift3 Data对象。
到目前为止,我所想出的最好的是:
let input = "Hello World" let terminatedData = Data(bytes: Array(input.nulTerminatedUTF8)) let unterminatedData = Data(bytes: Array(input.utf8))
不必做中间的Array()构造似乎是错误的。
这很简单:
let input = "Hello World" let data = input.data(using: .utf8)!
如果要使用null终止数据,只需在其中附加一个0。或者你可以叫cString(使用:)
let cString = input.cString(using: .utf8)! // null-terminated