-------------OC---------------
base64String = @"data:image/png;base64,iVBORw0KGgoAy ... RK5CYII="
//去除掉首尾的空白字符和换行字符
base64String = [base64String stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
//进行空字符串的处理
base64String = [base64String stringByReplacingOccurrencesOfString:@"\r" withString:@""];
//进行换行字符串的处理
base64String = [base64String stringByReplacingOccurrencesOfString:@"\n" withString:@""];
//去掉头部的前缀//data:image/jpeg;base64, (可根据实际数据情况而定,如果数据有固定的前缀,就执行下面的方法,如果没有就注销掉或删除掉)
// base64String = [base64String substringFromIndex:23]; //23 是根据前缀的具体字符长度而定的。*/
base64转图片
法1.未去除前缀data:image/png;base64转图片,形如:@"data:image/png;base64,iVBORw0KGgoAy ... RK5CYII="
NSURL *imgURL = [NSURL URLWithString:dataURIStr];
NSData *imgData = [NSData dataWithContentsOfURL:imgURL];
UIImage *img = [UIImage imageWithData:imgData];
法2.去除前缀data:image/png;base64转图片,去除后形如:@"iVBORw0KGgoAy ... RK5CYII="
NSData *imgData = [[NSData alloc] initWithBase64EncodedString:base64ImgStr options:0];
UIImage *img = [UIImage imageWithData:imgData];
图片转base64
UIImage * image = [UIImage imageNamed:@"pic"];
NSData * imageData = UIImageJPEGRepresentation(image, 1);
NSData * imageData = UIImagePNGRepresentation(image);
NSString * base64Str = [imageData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
-------------swift---------------
图片转 base 64
guard let image = UIImage(named: "图片名称") else {return}
//jpeg格式 compressionQuality: 压缩质量
guard let imageData = image.jpegData(compressionQuality: 1) else {
return
}
//png格式
guard let imageData2 = image.pngData() else {
return
}
let base64ImageStr = imageData.base64EncodedString(options: .lineLength64Characters)
base64转图片
let base64ImageStr = "Base64字符串"
guard let showImageData = Data(base64Encoded: base64ImageStr, options: .ignoreUnknownCharacters) else {return}
myImageView?.image = UIImage(data: showImageData )