ios - 基于二进制数据设置 UIImageView 的图像

标签 ios swift uiimageview

我有一张图片,正试图从网络服务加载。我测试了从 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/

相关文章:

ios - 如何从一个类调用另一个类的委托(delegate)方法

ios - 如何在 App 开发中使用函数式编程

ios - 如何阻止 Sprite 从特定表面反弹

iphone - 自定义 UIButton 无法与链接的 UIImageView 交互

ios - 使用 initWithVertexBuffers 以编程方式生成 MDLMesh 对象

ios - 升级IOS设备到指定版本

ios - NSDateFormatter 无法解析德国日期

swift - 通过 child 的 child 在 Firebase 中查询

ios - 使用 `CIFilter` 模糊图像时应用程序崩溃

ios - UIImageView 旋转后不居中