我有一张图片,正试图从网络服务加载。我测试了从 Web 服务获得的数据,方法是在它之前添加 data:image/gif;base64,
并将其作为 URL 输入到 Chrome 中,图像完美加载。
在我的 iOS 应用程序中,我尝试了 profilePic.image = UIImage.init(data: picData.data(using: .utf8)!)
其中 picData
是一个字符串使用我上面测试的内容,但是没有加载任何内容。
我感觉我在 picData.data(using: .utf8)!)
的某处做错了,但我不确定。有什么建议吗?
如果有帮助,这是我正在使用的二进制数据:https://pastebin.com/xiWHaPB6
最佳答案
UTF-8 是 Unicode 字符串的编码不是任意 8 位数据!
如果您显示的 mime 类型是准确的,则数据是 Base64 编码的字符串。您要做的第一件事是将该字符串转换为未编码的二进制形式。然后尝试从中创建您的 UIImage:
let unencodedData = Data(base64Encoded: picData)
let image = UIImage(data: unencodedData)
关于ios - 基于二进制数据设置 UIImageView 的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43823073/