我想将UIImage对象编码为Base64 String。通常,我得到的字符串很大,而且该过程也需要很长的执行时间。
func convertImageToBase64String () -> String {
guard let imageData: Data = UIImage.jpegData()
let imgString = imageData.base64EncodedString(options: .init(rawValue: 0))
return imgString
}
class func convertBase64StringToImage (imageBase64String: String) -> UIImage? {
guard let imageData = Data.init(base64Encoded: imageBase64String, options: .init(rawValue: 0)) else { return nil }
let image = UIImage(data: imageData)
return image
}
请在这里为我提供帮助。
答案 0 :(得分:1)
无法实现您想要的。 JPEG数据已经是图像的压缩形式。而且,当您将数据转换为base64编码时,结果是一个比原始数据大33%的字符串。
因此,获取少于100个字符的JPEG图像的base64编码的字符串表示形式的唯一方法是确保原始JPEG小于66个字节。我非常确定即使是1x1像素的JPEG也将超过66个字节。
如果JPEG是在iOS设备上拍摄的完整照片,则结果数据将为几兆字节。提交需要时间。