Base64 字符串转 UIImage 问题
Base64 string to UIImage Issue
免责声明:这里有很多关于 SO 的问题。我试图直接遵循这些问题的解决方案,但没有成功。我尽量避免发布此副本。
你好,
我在将 base64 编码字符串解码为 Swift 中的图像时遇到问题。我试过几组不同的数据,但它们似乎都无法正确解码,因为结果总是 nil
.
经过大量研究,我得出结论,需要将字符串解码为 Data
,根据该数据创建图像并为其设置 UIImageView
的图像。很简单吧?
let base64String: String = ...
let decodedData: Data = Data(base64Encoded: base64String, options: [])
let decodedImage: UIImage = UIImage(data: decodedData)
myImageView.image = decodedImage
然而,经过我各种尝试,数据最终变成了 nil
,我无法创建图像。
我感觉可能是我正在使用的数据,但是在线转换工具似乎没有问题。请参阅下面的数据示例和我用于转换的网站。
你的 Base64 字符串
%2F9j%2F4AAQSk...Z2uHi4%2BTl5ufo6...jtTGf%2FZ
包含“percent-encoded个十六进制序列”,
例如“/”为“%2F”,“+”为“%2B”。
这是 URL applications 中使用的变体,但 Data
不会自动处理它。因此,您必须删除
百分比编码优先:
if let percentDecoded = base64String.removingPercentEncoding,
let decodedData = Data(base64Encoded: percentDecoded) {
// ...
}
免责声明:这里有很多关于 SO 的问题。我试图直接遵循这些问题的解决方案,但没有成功。我尽量避免发布此副本。
你好,
我在将 base64 编码字符串解码为 Swift 中的图像时遇到问题。我试过几组不同的数据,但它们似乎都无法正确解码,因为结果总是 nil
.
经过大量研究,我得出结论,需要将字符串解码为 Data
,根据该数据创建图像并为其设置 UIImageView
的图像。很简单吧?
let base64String: String = ...
let decodedData: Data = Data(base64Encoded: base64String, options: [])
let decodedImage: UIImage = UIImage(data: decodedData)
myImageView.image = decodedImage
然而,经过我各种尝试,数据最终变成了 nil
,我无法创建图像。
我感觉可能是我正在使用的数据,但是在线转换工具似乎没有问题。请参阅下面的数据示例和我用于转换的网站。
你的 Base64 字符串
%2F9j%2F4AAQSk...Z2uHi4%2BTl5ufo6...jtTGf%2FZ
包含“percent-encoded个十六进制序列”, 例如“/”为“%2F”,“+”为“%2B”。
这是 URL applications 中使用的变体,但 Data
不会自动处理它。因此,您必须删除
百分比编码优先:
if let percentDecoded = base64String.removingPercentEncoding,
let decodedData = Data(base64Encoded: percentDecoded) {
// ...
}