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

9 blob nsdata ios swift

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

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

以下代码将为您提供我的表的想法

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")
Run Code Online (Sandbox Code Playgroud)

gay*_*991 7

从Base64字符串转换为NSData

 let nsd: NSData = NSData(base64EncodedString: Image, options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters)!
Run Code Online (Sandbox Code Playgroud)

转换为Blob

nsd.datatypeValue
Run Code Online (Sandbox Code Playgroud)


小智 6

这有效:

斯威夫特 3、4 和 5:

var data = Data(base64Encoded: recording_base64, options: .ignoreUnknownCharacters)
Run Code Online (Sandbox Code Playgroud)

斯威夫特 2:

var data = NSData(base64EncodedString: recording_base64, options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters)
Run Code Online (Sandbox Code Playgroud)