将UIImage转换为NSString(反之亦然)

Ped*_*ran 4 iphone sdk nsstring uiimage

我需要一个方法来转换NSString中的UIImage,然后将NSString转换回UIImage.

谢谢.

Rom*_*man 11

for> = IOS 7

- (NSString *)imageToNSString:(UIImage *)image
{
    NSData *imageData = UIImagePNGRepresentation(image);

    return [imageData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
}

- (UIImage *)stringToUIImage:(NSString *)string
{
    NSData *data = [[NSData alloc]initWithBase64EncodedString:string
                                                  options:NSDataBase64DecodingIgnoreUnknownCharacters];

    return [UIImage imageWithData:data];
}
Run Code Online (Sandbox Code Playgroud)


Gus*_*son 2

将其转换为二进制流 ( NSData)。这将取决于您的UIImage. 例如,如果它是 JPEG/PNG,您可以:

NSData *data1 = UIImageJPEGRepresentation(image, 1.0);
NSData *data2 = UIImagePNGRepresentation(image);
Run Code Online (Sandbox Code Playgroud)

更新:将二进制数据转换为NSString是一个坏主意,这就是我们拥有类NSData. OP希望能够将其作为数据流发送,然后再次重建;NSString为此不需要。