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];