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

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

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

图像是800 * 800像素,但生成的字符串太大,以至于当我将其粘贴到文本框中时会崩溃我的浏览器。 我将它粘贴在Dreamweaver中以计算线条,它超过300.000行。 这可能不对。 如果我将相同的图片上传到此站点,则会生成大约200行的base64字符串。

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

正如Martin R建议我检查了UIImagePNGRepresentation(图像)返回的数据长度,它是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编码的字符串粘贴到浏览器中?