iOS Base64字符转图片

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

在iOS端可以通过以下方法进行转换。
Base64字符转图片

NSData *imageData = [[NSData alloc] initWithBase64EncodedString:@"your base64 string" options:NSDataBase64DecodingIgnoreUnknownCharacters];

YourImageView.image = [UIImage imageWithData:imageData]

图片转Base64字符

NSData *imageData = 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.............""

这个时候直接进行转换会失败,解决方法是去掉前缀:"data:image/png;base64,"

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容