在xcode中将字节数组转换为图像?

Hon*_*ney 0 iphone xcode uiimage

我在对象中得到一个字节数组(我估计)NSMutableArray's.NSMutableArray我得到的是从Xml服务URL解析..现在我需要UIImage通过谷歌将该字节数组转换为..Gone并发现转换为NSData然后UIImage但不能懂得怎么样?我该怎么做 ?

我的数组看起来像这样:

(
{
        Name = "John";
        Image = "/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJS
kcgSlBFRyB2NjIpLCBxdWFsaXR5ID0gODAK/9sAQwAGBAUGBQQGBgUGBwcGCAoQCgoJCQoUDg8MEBcUGBgXF
BYWGh0lHxobIxwWFiAsICMmJykqKRkfLTAtKDAlKCko/9sAQwEHBwcKCAoTCgoTKBoWGigoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo/8AAEQgEKwZAAwEiAAIRAQMRAf/........
 //big byte array 
}
)
Run Code Online (Sandbox Code Playgroud)

首先,我需要清楚它是否是一个字节数组?如何从中提取图像?

Cod*_*odo 5

您的数据组织如下:

  • 最外层的数据结构是a NSArrayNSMutableArray(当你写的时候).
  • 在索引0(数组中的第一个元素),有一个NSDictionary实例.
  • 在字典中,有两个键值对.一个具有关键Image和一个字符串作为值.
  • 字符串值是二进制数据,编码为Base64.
  • 二进制数据是图像数据.

所以获取图像,你需要走这条路:

NSMutableArray* array = ... // from XML
NSDictionary* dict = [array objectAtIndex: 0];
NSString* dataString = [dict objectForKey: @"Image"];
NSData* imageData = [dataString base64DecodedData];
UIImage* image = [UIImage imageWithData: imageData];
Run Code Online (Sandbox Code Playgroud)

请注意,Base64解码不是iOS的一部分.但网上有许多实现将字符串解码为数据.只是谷歌吧.

可以在GitHub上找到看起来很简单的Base64实现.