2016-04-14 113 views
2

當我得到我的JSON從我的API回來,這是它的外觀如何在快速轉換字節數組爲base64字符串?

{ 
    data:[ 
    100, 
    80, 
    105, 
    99, 
    etc 
    ] 

} 

如何利用這個陣列,並把它放回一個base64字符串,然後NSData的最後的UIImage。 這是我到目前爲止。

let byteArray = todo["image"]["data"].arrayObject 
var data = NSData(bytes: byteArray!, length: byteArray!.count) 
var image = UIImage(data: data) 

當打印數據時,打印數據的打印質量很好,但對圖像返回nil。

+0

這是您的API的JSON的真實樣本? – ryantxr

+0

它有幾個字段之前,但我需要弄清楚如何將字節的數據數組轉換爲NSData – ConnorB

+0

假設這些是十進制值,這看起來不像base64數據。 – ryantxr

回答

1

您是否試過迭代通過數組並從其元素構建字符串,使用base64編碼/解碼api從字符串中獲取NSData?類似的東西(我從iPad上寫入,所以我無法檢查)。

var encodedString="" 
for smallString in byteArray { 
    encodedString += String(smallString) 
} 
let data = NSData(base64EncodedString: base64Encoded, options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters) 
var image = UIImage(data: data) 
+0

你是什麼意思的編碼字符串。我所擁有的是一個帶有字節的數據數組。這就是我的API返回給我的 – ConnorB

+0

您的數組的內容不是基礎64編碼圖像的字符串表示形式嗎? – Andrea

+0

沒有我的API將編碼後的base64字符串存儲爲BLOB,但blob將數據作爲字節數組返回 – ConnorB

相關問題