如何在swift中将字节数组转换为base64字符串?

时间:2016-04-14 02:28:36

标签: ios json swift uiimageview nsdate

当我从我的API中获取我的JSON时,这就是它的外观

{
  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。

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分:0)

    let byteArray = todo["image"]["data"].arrayObject         
    let string = String(bytes: byteArray, encoding: .utf8)
    let encodedImageData = string
    let imageData = NSData(base64Encoded: encodedImageData!)
    let image = UIImage(data: imageData! as Data)