2011-06-26 73 views
10

誰能告訴我如何將無符號字符轉換爲NSString?如何將無符號字符轉換爲iOS中的NSString

這裏是我使用的代碼,但由於某種原因,如果我嘗試使用NSString做任何事情,比如設置UITextView文本,它會給我一個錯誤。 NSLog工作正常。提前致謝。

- (void)onTagReceived:(unsigned char *)tag 
{ 

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 
NSString *myTag = [NSString stringWithFormat:@"%02x%02x%02x%02x%02x\n",tag[0],tag[1],tag[2],tag[3],tag[4]]; 

NSLog(@"currentTag: %@",myTag); 

[displayTxt setText:myTag]; 

[pool release]; 

} 
+1

你會得到什麼錯誤? – jtbandes

回答

19

如果tag是C字符​​串(空值終止,這是),那麼你可以使用[NSString stringWithUTF8String:(char *)tag]。如果你想要十六進制值,那麼你的代碼使用%02x是好的。

+0

+1提醒我們空終止:) – JakeP

2

@jtbandes:你是對的。另一種方式,你可以這樣做:

NSString *str = [NSString stringWithCString:tag length:strlen(tag)]; 
+4

此方法已被棄用,不應使用。其他選項請參見[NSString類引用](http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html)。 – jtbandes

+2

我的不好!謝謝你提醒我 :) – Manoj

相關問題