UIImage到base64string编码
如何将UIimage
转换为base64编码的string? 我找不到任何有关详细信息的示例或代码。
我想知道为什么你没有find你的问题,因为这是一个非常古老的问题,可以在这里和这里find。
无论如何,您需要先将NSData
类别添加到您的项目中,
头和实现然后转换你的UIImage
对象到NSData
的方式如下:
NSData *imageData = UIImageJPEGRepresentation(image, 1.0);
然后应用Base64编码将其转换为base64
编码的string:
NSString *encodedString = [imageData base64Encoding];
iOS 7中有这些变化,可以在不使用任何外部类别来支持Base64编码/解码的情况下完成。
你可以直接使用下面的代码来写:
- (NSString *)base64String { return [UIImagePNGRepresentation(self) base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]; }
你可以按照下面的代码
-(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]; }
@implementation UIImage (Extended) - (NSString *)base64String { NSData * data = [UIImagePNGRepresentation(self) base64EncodedDataWithOptions:NSDataBase64Encoding64CharacterLineLength]; return [NSString stringWithUTF8String:[data bytes]]; } @end
NSData(Base64)自从这个线程中的最后一个回复以来已经稍微改变了。
你现在应该使用:
NSData *base64EncodedImage = [UIImageJPEGRepresentation(img, 0.8) base64EncodingWithLineLength:0];
Swift 3
我使用base64EncodedString()将Data()对象转换为base64string
将图像转换为base64string
var sample = UIImage(named: "image_logo") let imageData:Data = UIImagePNGRepresentation(sample!)! let base64String = imageData.base64EncodedString()
当在iOS中将图像转换为base64时,来自base64编码的string的新行“\ n”:
使用这个代码:
UIImage * orginalImage = [info objectForKey:UIImagePickerControllerOriginalImage]; NSIndexPath * indexPath = [NSIndexPath indexPathForRow:isRowIndex inSection:isSectionIndex]; UITableViewCell * cell = [jobstable cellForRowAtIndexPath:indexPath]; UIImageView * tableIMAGE =(UIImageView *)[cell.contentView viewWithTag:19]; tableIMAGE.image = orginalImage; imageStris = [UIImageJPEGRepresentation(tableIMAGE.image,1)base64Encoding]; answersARRAY [indexPath.row] = [NSString stringWithFormat:@“ - 1,%@,%@”,answersARRAY [indexPath.row],imageStris]; [self dismissViewControllerAnimated:YES completion:nil];