2010-08-16 8 views
1

서버 (내가 만든 서버이기도 함)에서 정보를 가져 오는 iPhone 앱을 만들었습니다. 서버의 데이터는 XML이며 XML 구문 분석기를 사용하여 메시지를 구문 분석합니다. 내가 원하는 것은 서버에서 전송할 이미지를 추가하는 것이며 XML 메시지에 이러한 이미지의 바이너리 데이터를 추가 할 수 있는지 묻는 것입니다. 예를 들어 10 개의 태그는 텍스트이고 1 개의 태그는 2 진 (이미지)입니다. 따라서 XML 파서가 바이너리 태그에 도착하면 NSDATA 객체에 데이터를 삽입하고 나머지 태그는 NSString에 삽입됩니다.XML 데이터 텍스트 + 이진

Cocoa의 XML 구문 분석기가이 상황을 처리 할 수 ​​있습니까?

그렇지 않은 경우 서버에 대한 한 번의 연결로이 작업을 수행하여 서버의 데이터를 한 번 전송하는 것이 가장 쉬운 방법이라고 생각하십니까?

답변

1

XML로 랩핑 된 바이너리 데이터를 전송하려면, 예를 들어. Base64는 XML을 엉망이게하지 않는 문자로 바이너리 데이터를 변환합니다.

+0

다시 바이너리로 변환해야합니까? 아니면 Base64를 이미지의 initWithdata에 넣을 수 있습니까? – Amir

+0

바이너리 데이터를 얻으려면 해독해야합니다. – mwittrock

+0

디코딩 방법을 알려주시겠습니까? 나는 그물에있는 몇 가지 예를 보았지만 그 모습은 복잡했다. – Amir

1

Base64를 사용하여 인코딩 된 이미지 데이터를 전송할 수 있습니다. NSData (dateFromBase64String)에 Base64 디코딩 지원을 추가하는 Matt Gallagher의 NSData 범주가 있습니다. 그의 Cocoa with love 웹 사이트에서 찾을 수 있습니다.

Base64로 인코딩 된 이미지의 파일 크기가 약 33 % 증가한다는 점에 유의하십시오.