从 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字符串编码格式和例子?
我正在尝试从字节数组中获取图像。直接把字节数组值输入到字符串中才能得到图像,如下所示:
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
用
将其转换为对象
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;
.
我想你需要post字符串编码格式和例子?