2012-10-23 12 views
0

wcf 서비스와 통화하는 iphone 클라이언트를 만듭니다 (서버를 제어 할 수 없어 여기서는 변경할 수 없음).바이너리 데이터를 json을 통해 전송할 바이트 배열로 변환합니다.

다른 정보와 함께이 서버로 이미지를 보내야합니다. json을 사용하여 보내야합니다.

데이터를 보내고 받기 위해 restkit을 사용하고 있습니다.

문제는 이진 데이터를 바이트 배열로 보내야한다는 것입니다. base64로 인코딩 된 문자열이 아닙니다.

어떻게 보이는 JSON 문자열에있는 UIImage에서받을 수 있나요이

"화상": { "콘텐츠"[1,1,1,1,1,1,1,1,1를 , 1,1,1,1,1 ..........

Restkit을 사용하지 않는 솔루션에 대해 열려 있습니다.

+0

JSON이 바이트 배열을 나타낼 수도 있습니까? –

답변

0

받는 WCF 서비스의 유형은 무엇입니까? 바이트[]?

소리가 들리지만 NSNumber realtionship에 매핑하여 배열을 만들 수 있습니다. .....

[ "1", "1", "1":

"화상": { "내용"내 머리 위로 떨어져

나는 그와 같은 직렬화 것 같아

맞춤형 포맷터가 필요할 수도 있습니다.

0

바이트 배열을 NSString으로 변환하는 SO 게시물입니다. 문제가 올바르게 이해되면 바이트 배열을 문자열로 변환 한 다음 피드에 추가하십시오. Objective-C - How can I convert Byte Array to NSString?

여기 코드로 허용 대답의 발췌 : 당신이 당신의 JSON으로 값을 일단 주목할 가치 또한

  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 최대 문자열 길이 값을 초과하지 않도록 조심.

0

빠른 답장을 보내 주셔서 감사합니다.

제안 된 대답을 얻을 수 없으므로 미친 사람들의 기술을 사용하고 서버 측 서비스를 만든 회사가 끝을 변경하여 대신 우리가 base64 인코딩 된 문자열을 보낼 수있게해야했습니다.

관련 문제