iOS|iOS Base64字符转图片

通过Base64编码可以将图片转换成字符串进行传输,通过这种方式可以很便捷的使图片在前后端传递,但是这通常只适用于小图片,否则转换后的Base64字符将很大,并不利于传输。
在iOS端可以通过以下方法进行转换。
Base64字符转图片

NSData *imageData = https://www.it610.com/article/[[NSData alloc] initWithBase64EncodedString:@"your base64 string" options:NSDataBase64DecodingIgnoreUnknownCharacters]; YourImageView.image = [UIImage imageWithData:imageData]

图片转Base64字符
NSData *imageData = https://www.it610.com/article/UIImageJPEGRepresentation(yourImage, 1.0f); NSString *base64ImageStr = [imageData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];

Note
关于NSDataBase64EncodingOptions NSDataBase64Encoding64CharacterLineLength//将生成的Base64字符串按照64个字符长度进行等分换行 NSDataBase64Encoding76CharacterLineLength//将生成的Base64字符串按照76个字符长度进行等分换行 NSDataBase64EncodingEndLineWithCarriageReturn //将生成的Base64字符串以回车结束 NSDataBase64EncodingEndLineWithLineFeed//将生成的Base64字符串以换行结束

Solution
有时候,后台传回的Base64字符是这种格式的:data:image/png; base64,iVBORw0K.............""
【iOS|iOS Base64字符转图片】这个时候直接进行转换会失败,解决方法是去掉前缀:"data:image/png; base64,"

    推荐阅读