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

Proper way to get the byte array from the JSON

我正在尝试从字节数组中获取图像。直接把字节数组值输入到字符串中才能得到图像,如下所示:

    NSMutableString *imagen = [[NSMutableString alloc] initWithString:@"-1,-40,-1,-32,0,16,74,70,73,70,0,1,0,1,0,96,0,96,0,0,-1,-2,0,31,76,69,65,68,32,84,101,99,104,110,111,108,111,103,105,101,115,32,73,110,99,46,32,86,49,46,48,49,0,-1,-37,0,-124,0,5,5,5,8,5,8,12,7,7,12,12,9,9,9,12,13,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13];

//这种方式很好用

如果我尝试按如下方式将字节数组转换为字符串,则无法获取图像:

    NSString *logo=[NSString stringWithFormat:@"%@",[[JSON valueForKey:@"request"]valueForKey:@"logo" ]];

    NSMutableString *imagen = [[NSMutableString alloc] initWithString:logo];

   //this way doesnt work out

我正在关注此 link 以完成任务。this link

你能告诉我从 JSON 获取字节数组的正确方法是什么吗?

这不是可执行代码,它是一个使用方法:

您在 self.receivedData

中获得了 JSON


将其转换为对象 NSDictionary *jsonObject = NSJSONSerialization JSONObjectWithData:

** 未知图像数据在 JSON 中的编码方式。如果是Base64编码:

使用
获取Base64图片字符串 NSString *imageString = jsonObject[@"request"][@"logo"]

将Base64字符串转换为数据:
NSData *imageData = [NSData alloc] initWithBase64EncodedString: imageString options:

获取图像
UIImage *logoImage = [imageData imageWithData]

总而言之,您有很多代码没有完成任何事情,并且将图像数据转换为 NSString 是不正确的。

转换为字符串然后返回数据无济于事。

这段代码似乎很混乱?您 post 编辑的 link 具有包含负数的字符串编码。您将这些解析为带符号的,然后使用 bytes[i] = (uint8_t)byte;.

将它们分配给无符号的 uint8_t 数组

我想你需要post字符串编码格式和例子?