我有一個名爲objNSData的NSData對象,我可以將字符串轉換爲此NSData對象。我無法弄清楚如何將NSData轉換回字符串,這甚至可能嗎?我知道它可以用Visual Basic中的命令完成,例如將數據轉換爲文本並在UITextField中顯示
Data.ToString
在Objective-C中是否有這樣的東西?
我有一個名爲objNSData的NSData對象,我可以將字符串轉換爲此NSData對象。我無法弄清楚如何將NSData轉換回字符串,這甚至可能嗎?我知道它可以用Visual Basic中的命令完成,例如將數據轉換爲文本並在UITextField中顯示
Data.ToString
在Objective-C中是否有這樣的東西?
NSData只包含原始字節。你需要一個編碼來回。只需要原始字節,除非您知道如何對它們進行編碼,否則它是無用的。例如,在這段代碼中,我們將字符串轉換爲字節,然後使用UTF8編碼(字符集)將其轉換回字符串。
NSString *foo = @"BarBaz";
NSData *data = [foo dataUsingEncoding:NSUTF8StringEncoding];
NSString *fooString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"string=%@", fooString);
此輸出:
2011-10-11 20:41:20.708 Craplet[3413:707] string=BarBaz
好吧,你必須知道數據是什麼。如果它是圖形數據,它不會形成一個非常漂亮的字符串。
但我認爲你所擁有的是某種字符數據。它是ASCII碼嗎? UTF8? UTF-16?克林貢語?
如果是UTF8,你會使用類似
NSString* theString = [NSString stringWithUTF8String:[yourDataObject bytes]];
但也有很多變數,比如在數據空終止?
...像克林貢編碼;) – bryanmac