【问题标题】:How to convert Data received from UIImagePNGRepresentation() to String and vice versa?如何将从 UIImagePNGRepresentation() 接收的数据转换为字符串,反之亦然?
【发布时间】:2017-10-06 13:24:16
【问题描述】:

这就是我从UIImage 创建Data 的方式:

let data = UIImagePNGRepresentation(image)

然后我需要将其转换为String;

    if let data = data {
        let stringFromData = String(data: data, encoding: .utf8)
    }

stringFromData 为零。为什么?

【问题讨论】:

  • 为什么你得到的是字符串而不是图像?
  • 如果你想反转图像,请使用这个 :let image : UIImage = UIImage(data: data)
  • 在使用 Branch.io 为通用链接共享一些信息时,我需要传递 imageData。
  • 字典只能包含字符串...

标签: ios swift


【解决方案1】:

将您的图像数据转换为 Base64 字符串

用于编码

let stringFromData : Data = Data(base64Encoded: strBase64, options: .ignoreUnknownCharacters)!

然后解码

let strBase64 = imageData.base64EncodedStringWithOptions(.allZeros)

【讨论】:

  • 我如何获得strBase64
  • 检查我已经把这两种方法都放了
【解决方案2】:

您可以使用 Data 方法 base64EncodedString() 获取它

if let data = data {
    let stringFromData = data.base64EncodedString()
    //  to decode base 64 string you can use Data base64Encoded String initializer
    if let dataFromBase64 = Data(base64Encoded: stringFromData) {
        print(data)
    }
}

【讨论】:

    猜你喜欢
    • 2011-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-04
    相关资源
    最近更新 更多