如何将Base64字符串转换为NSData?

时间:2016-02-11 14:40:27

标签: ios swift blob nsdata

我有一个iOS应用程序(用Swift编写),它以JSON格式从wcf服务中检索数据。其中一个数据是存储为 base64string 的图像。但是,我无法将 base64string 转换为 NSData

我的主要目的是将 base64string 一直转换为 blob ,以便我可以将其保存在数据库中。另一方面,如果您知道至少部分内容(例如从 base64string NSData )会有所帮助。

以下代码可以让您了解我的表格

let ItemsDB = Table("Items")
let idDB = Expression<String>("ID")
let nameDB = Expression<String>("Name")
let catDB = Expression<String>("Category")
let uomDB = Expression<String>("UOM")
let priceDB = Expression<Double>("Price")
let imageDB = Expression<Blob>("Image")
let actDB = Expression<Bool>("Active")

3 个答案:

答案 0 :(得分:5)

从Base64字符串转换为NSData

 let nsd: NSData = NSData(base64EncodedString: Image, options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters)!

转换为Blob

nsd.datatypeValue

答案 1 :(得分:1)

你可以在网上找到很多例子,但大部分是在Objective-c中。例如,Converting between NSData and base64 strings

使用

非常简单

NSData(base64EncodedString: String, options: NSDataBase64DecodingOptions)

答案 2 :(得分:1)

这有效:

快速3、4和5:

var data = Data(base64Encoded: recording_base64, options: .ignoreUnknownCharacters)

迅速2:

var data = NSData(base64EncodedString: recording_base64, options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters)