2012-10-31 4 views
1

NSData를 NSString 객체로 변환하는 방법을 찾았습니다.NSData에서 NSString으로 변환

NSData *data = //some data 
NSString *string = [NSString stringWithFormat:@"%@", data]; 

데이터는 어떻게 디코딩됩니까? NSUTF8StringEncoding이 (가) 적용됩니까?

감사합니다.

+0

[무엇을 시도해 봤습니까?] (http://mattgemmell.com/2008/12/08/what-have-you-tried/) –

+3

가난합니다. initWithData를 사용하십시오. –

답변

7

이것은 이 아니며 권장 방법은입니다. 대신 다음을 사용하십시오.

NSString *newString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 

이렇게하면 데이터에 대해 지정된 인코딩을 사용할 수 있습니다. 당신은 아마 NSString *string = [[NSString alloc] initWithData: data encoding:SomeFormOfEncoding];

당신은 방법의 세부 사항 here을 볼 수 있습니다 사용해야

+1

틀린 !! NSData.description은 16 진 덤프를 반환합니다. –

+0

위 코드가 정확합니다 :). – dtuckernet

4

이 경우 stringWithFormat: 메서드는 NSData 개체에 description 메시지를 보내고 결과를 가져 와서 새로 만든 문자열의 내용으로 사용합니다. 본질적으로, 그 결과 NSData's documentation, description 복귀

을 NSData 프로퍼티리스트 형식으로 수신기의 내용을 16 진 표시를 포함

있는 NSString 객체에 따르면

NSString *string = [data description]; 

동일하다.

+0

오른쪽. NSData의'description '은 16 진수 덤프라는 것을 막연하게 상기합니다. –

+0

@HotLicks 네, 인용구를 복사하여 붙이기 위해 그 문서를 찾고있었습니다 :) – dasblinkenlight

+0

방금 ​​하드웨어 - 16 진 덤프에서 테스트했습니다. –

0

.

인코딩 형식은 here입니다.

관련 문제