繁体   English   中英

如何获取图像的有效base64字符串

[英]How to get valid base64 string for an image

我使用以下代码来获取图像的base64编码字符串:

UIImage *image = [photoView image];
NSString *encoded = [UIImagePNGRepresentation(image) base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];

图像为800 * 800像素,但是生成的字符串太大,以至于我将其粘贴到文本框中时会崩溃。 我将其粘贴到Dreamweaver中以计算行数,它超过300.000行。 这是不对的。 如果我将同一张图片上传到此站点,它将生成大约200行的base64字符串。

如何在目标c中生成“正常” base64字符串? 我可以实际使用的一个...

正如Martin R建议的那样,我检查了UIImagePNGRepresentation(image)返回的数据长度,它是4502370字节。 这可能是问题的一部分。 难道就是像我一样在UIImageView中绘制图像并稍后检索它会以屏幕大小返回图像吗?

通过使用NSDataBase64Encoding64CharacterLineLength您可以将每行限制为64个字符(如文档中所写)。 尝试:

NSString *encoded = [UIImagePNGRepresentation(image) base64EncodedStringWithOptions:0];

base-64编码的字符串是二进制数据大小的1.37倍。 因此:

800x800x4(32位RGBA)= 2,560,000字节

x 1.37 = 3,507,200字节

我不明白您为什么将base-64编码的字符串粘贴到浏览器中?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM