Objective c 将二进制数据转换为字节数组,通过json传输
我正在创建一个与wcf服务对话的iphone客户端(我无法控制服务器,因此无法在此进行更改) 我需要发送一个图像到这个服务器,以及一些其他信息。它必须使用json发送 我正在使用restkit发送和接收数据 问题是,二进制数据必须作为字节数组发送。不作为base64编码字符串 如何将UIimage转换成如下所示的json字符串 “图片”:{“内容”:[1,1,1,1,1,1,1,1,1,1,1,1,1,1Objective c 将二进制数据转换为字节数组,通过json传输,objective-c,restkit,Objective C,Restkit,我正在创建一个与wcf服务对话的iphone客户端(我无法控制服务器,因此无法在此进行更改) 我需要发送一个图像到这个服务器,以及一些其他信息。它必须使用json发送 我正在使用restkit发送和接收数据 问题是,二进制数据必须作为字节数组发送。不作为base64编码字符串 如何将UIimage转换成如下所示的json字符串 “图片”:{“内容”:[1,1,1,1,1,1,1,1,1,1,1,1,1,1 我对不使用restkit的解决方案持开放态度。接收WCF服务的类型是什么?字节[] 听起来
我对不使用restkit的解决方案持开放态度。接收WCF服务的类型是什么?字节[] 听起来很奇怪,但你可以尝试映射到一个NSNumber关系并创建一个数组 在我的脑海中,我想这会连载为: “图片”:{“内容”:[“1”、“1”、“1”
因此,您可能还需要一个自定义格式化程序。下面是一个将字节数组转换为NSString的So post。如果我正确理解了这个问题,请尝试将字节数组转换为字符串,然后将其添加到提要中。 下面是一段公认答案的摘录,带有代码:
NSData *data = [[NSMutableData alloc] init];
uint8_t buffer[1024];
unsigned int len = 0;
len = [(NSInputStream *)stream read:buffer maxLength:1024];
if(len > 0)
{
[data appendBytes:&buffer length:len];
}
NSString *serverText = [[NSString alloc]
initWithData:data
encoding:NSASCIIStringEncoding];
NSLog(@"%@", serverText);
同样值得注意的是,一旦您将值输入json,请注意不要超过json最大字符串长度值。感谢您的快速回复
无法获得任何建议的答案,因此我们必须使用我们的“疯子”技能,让制作服务器端服务的公司更改其终端,以便我们可以发送base64编码字符串。JSON甚至可以表示字节数组吗?