一尘不染

在Swift中从NSString创建NSData

swift

我试图最终获得NSMutableURLRequest一个有效的HTTPBody,但似乎无法将我的字符串数据(来自UITextField)放入一个可用的NSData对象中。

我已经看到这种方法的另一种选择:

NSString(data data: NSData!, encoding encoding: UInt)

但是我似乎找不到用例的任何文档。我愿意在必要时将字符串放入其他类型,但是NSData使用Swift 的初始化选项似乎都不是我想要的。


阅读 413

收藏
2020-07-07

共1个答案

一尘不染

在Swift 3中

let data = string.data(using: .utf8)

在Swift 2中(或者如果您已经有一个NSString实例)

let data = string.dataUsingEncoding(NSUTF8StringEncoding)

在Swift 1中(或者如果您有swift String):

let data = (string as NSString).dataUsingEncoding(NSUTF8StringEncoding)

另请注意,这 data是一个Optional<NSData>(因为转换可能会失败),因此您需要在使用前将其拆开,例如:

if let d = data {
    println(d)
}
2020-07-07