我试图从字节数组中获取图像。如果直接在字符串中输入字节数组值,我只能得到图像,如下所示:
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
我正在关注此链接以完成任务。this link
您能告诉我从JSON获取字节数组的正确方法吗?
答案 0 :(得分:2)
这不是可执行代码,它是一种使用方法:
您在self.receivedData
将其转换为具有
的对象
NSDictionary *jsonObject = NSJSONSerialization JSONObjectWithData:
**未知如何在JSON中编码图像数据。如果是Base64编码:
获取带有
的Base64image字符串
NSString *imageString = jsonObject[@"request"][@"logo"]
将Base64字符串转换为数据:
NSData *imageData = [NSData alloc] initWithBase64EncodedString: imageString options:
获取图像
UIImage *logoImage = [imageData imageWithData]
总而言之,您可以使用许多无法完成任务且将图像数据转换为NSString
的代码不正确。
转换为字符串然后返回数据不会产生任何效果。
答案 1 :(得分:0)
这段代码好像很混乱?您发布的链接包含字符串编码,其中包含负数。您将这些解析为已签名,但随后使用bytes[i] = (uint8_t)byte;
将它们分配给未签名的uint8_t数组。
我认为您需要发布字符串编码格式和示例吗?