来自NSString中保存的字节的UIImage

nic*_*mro 4 iphone json objective-c uiimage nsdata

我试图从一个实际上保存在NSString中的字节数组创建一个UIImage.

有人可以告诉我如何做到这一点?

这是我在想的事情:

NSString *sourceString = @"mYActualBytesAREinHERe=";
//get the bytes
const char *bytesArray = [sourceString cStringUsingEncoding:NSASCIIStringEncoding];
//build the NSData object
NSData *data = [NSData dataWithBytes:bytesArray length:[sourceString length]];
//create actual image
UIImage *image = [UIImage imageWithData:data];
Run Code Online (Sandbox Code Playgroud)

问题是图像总是0x0(零).

任何建议,将不胜感激.

谢谢!

Ram*_*min 13

要将图像转换为字符串,您需要一种方法来转换NSData为base64Encoded字符串并返回(这里有很多示例).最容易使用的是类别,NSData所以你可以这样做:

UIImage* pic = [UIImage imageNamed:@"sample.png"];
NSData* pictureData = UIImagePNGRepresentation(pic);
NSString* pictureDataString = [pictureData base64Encoding];
Run Code Online (Sandbox Code Playgroud)

换句话说你需要一个反向转换器:

UIImage* image = [UIImage imageWithData:[NSData 
            dataFromBase64EncodedString: pictureDataString]];
Run Code Online (Sandbox Code Playgroud)