2013-09-28 37 views
-5

我是新來的iOS編程,我試圖讓一個NSData對象的文本表示作爲的NSString文字converstion的NSData到NSString的

例如,如果NSData對象是:

<07010013 01020000 09000100 000199c2> 

我想將其轉換爲:

"070100130102000009000100000199c2" 

我該怎麼做?

+1

爲什麼你想呢? – Wain

+1

請求查詢SO之前,這是一個巨大的知識庫,你會找到答案,而你可以學習 – nzs

+1

「NSData」,「NSString」,「十六進制」將是3個有用的關鍵字時,搜索此 –

回答

0

提示#1 // 一般的答案

NSString爲此提供了一個初始化。你可以看到more info using the docs here.

NSString * str = [[NSString alloc] initWithData: mynsdata 
             encoding:NSUTF8StringEncoding]; 

假設你使用ARC。

提示#2 // 答案爲十六進制的NSData

int len = [mynsdata length]; 
NSMutableString *str = [NSMutableString stringWithCapacity:len*2]; 
const unsigned char *nsdata_bytes = [mynsdata bytes]; 
for (int i = 0; i < len; ++i) { 
    [str appendFormat:@"%02x", nsdata_bytes[i]]; 
} 
+0

工作就像一個魅力,謝謝。 – ikawka