user5246938
user5246938

Reputation:

How to convert Base64 string to NSData?

I have an iOS application (written in Swift) that retrieves data from a wcf service in JSON format. One of the data is an image stored as a base64string. However, I was not able to convert the base64string to NSData.

My main purpose is to convert base64string all the way to blob so that I could save that in the database. On the other hand, if you know at least part of it such as from base64string to NSData would be helpful.

Following code would give you the idea of my table

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")

Upvotes: 12

Views: 15807

Answers (3)

skety777
skety777

Reputation: 230

This works:

Swift 3, 4 & 5:

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

Swift 2:

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

Upvotes: 11

gayan1991
gayan1991

Reputation: 795

To convert from Base64 string to NSData

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

To Convert to Blob

nsd.datatypeValue

Upvotes: 13

Breek
Breek

Reputation: 1441

There are lot of example you can find online but most of them are in Objective-c. For example, Converting between NSData and base64 strings

It is pretty straight forward for you to use

NSData(base64EncodedString: String, options: NSDataBase64DecodingOptions)

Upvotes: 3

Related Questions