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