如何从 Swift 中的 Base64 编码字符串创建图像?

How do I create an image from a Base64-encoded string in Swift?

Web 服务将 Base64 编码图像作为字符串回显。如何在 Swift 项目中解码和显示此编码图像?

具体来说,我想拍摄一张图像,该图像已经由 Web 服务提供为 Base64 格式的字符串,并了解如何在 UIImageView 中显示它。

到目前为止,我发现的文章描述了已弃用的技术,或者是用我不熟悉的 Objective-C 编写的。如何接收 Base64 编码的字符串并将其转换为 UIImage?

要将Base64编码的字符串解码成图片,可以在Swift中使用如下代码:

let decodedData = NSData(base64EncodedString: base64String, options: NSDataBase64DecodingOptions.fromRaw(0)!)
var decodedimage = UIImage(data: decodedData)
println(decodedimage)
yourImageView.image = decodedimage as UIImage

更好的是,您可以在分配给图像视图之前检查 decodedimage 是否为 nil

通过执行以下操作将您的 base64 编码字符串转换为 NSData 实例:

let encodedImageData = ... get string from your web service ...
let imageData = NSData(base64EncodedString: encodedImageData options: .allZeros)

然后将imageData转为UIImage:

let image = UIImage(data: imageData)

然后您可以在 UIImageView 上设置图像,例如:

imageView.image = image