来自 json 的响应字节数组

用户9933539

如何从服务器响应字节数组并将其转换为图像。这是我的代码在此处输入图像描述

Alamofire.request(mainUrl, method:.post , parameters: paramstring , encoding: JSONEncoding.default, headers: nil).responseJSON { response in
        if let data = response.data
        {
            switch response.result
            {
            case.failure(let error):
            print(error)
            case.success(let value):
                let json = JSON(value)
                guard let dataarr = json["my_profile"].arrayObject as? [String] else {return}
                let image = dataarr[0]
                let mydata = image.data(using: String.Encoding.utf8)! as NSData
                print(mydata)
                let mybase64 = mydata.base64EncodedData(options: NSData.Base64EncodingOptions.endLineWithLineFeed)
                print(mybase64)
                self.MainView.avatarImageView.image = UIImage(data: mybase64)

            }
        }

如您所见,它不是字节数组,它继续到 1000 行,在此处输入图像描述

罗伯·纳皮尔

您的数据不是 Base64 编码的。它是十六进制编码的。您需要对其进行十六进制解码,而不是使用base64EncodedData.

首先,您需要删除前两个字符 ( \x):

let hex = dataarr[0].dropFirst(2)

那么你需要一种将十六进制转换为数据的方法。有很多方法。这是一个:

extension Data {
    init?<S: StringProtocol>(hexString: S) {
        guard hexString.count % 2 == 0 else { return nil }  // Must be even number of letters

        var bytes: [UInt8] = []

        var index = hexString.startIndex
        while index != hexString.endIndex {
            let secondIndex = hexString.index(after: index)
            let hexValue = hexString[index...secondIndex]
            guard let byte = UInt8(hexValue, radix: 16) else { return nil } // Unexpected character
            bytes.append(byte)
            index = hexString.index(after: secondIndex)
        }
        self.init(bytes)
    }
}

有了它,解码它:

if let data = Data(hexString: hex),
   let image = UIImage(data: data) {
       // ... use image
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

来自字节数组的图像

来自分类Dev

从JSON恢复字节数组

来自分类Dev

反序列化结果正文,它是json响应的字节数组

来自分类Dev

CryptoJS解密(AES)来自Java的文件字节数组

来自分类Dev

来自UI的字节数组操作,用于密码算法

来自分类Dev

字节数组不可JSON序列化

来自分类Dev

将字节数组放入JSON,反之亦然

来自分类Dev

javascript:从json返回的字节数组中打开文件

来自分类Dev

在Compojure中将字节数组转换为json

来自分类Dev

将Clojure字节数组编码为JSON

来自分类Dev

JavaScript将字节数组转换为JSON并返回

来自分类Dev

POJO到字节数组与POJO到JSON

来自分类Dev

Swift 2 JSON字节数组到UIImage

来自分类Dev

从JSON获取字节数组的正确方法

来自分类Dev

将JSON转换为C中的字节数组

来自分类Dev

如何从字节数组的 JSON 元素创建文件

来自分类Dev

在python中使用struct反序列化来自串行的字节数组

来自分类Dev

来自字节数组的C#UTF8 GetString不等于PHP CHR函数

来自分类Dev

来自字节数组切片的字符串

来自分类Dev

来自特定索引的字节数组作为C#中的struct,而没有进行复制

来自分类Dev

来自C ++无符号字节数组的OpenGL 2DTexture

来自分类Dev

来自 WMI 的 CPU 缓存中的实际字节数

来自分类Dev

来自 HTTPS URLSession.dataTask 的 0 字节数据

来自分类Dev

使用Json.Net将字节数组解析为json

来自分类Dev

如何在json post请求中发送字节数组?

来自分类Dev

如何在Java中的JSON POST中发送图像字节数组

来自分类Dev

使用JSON.net反序列化DataTable中的字节数组列

来自分类Dev

如何将图像(字节数组)从JSON显示到imageView中...工厂返回null

来自分类Dev

C#JSON导入:无法将字符串转换为字节数组

Related 相关文章

热门标签

归档