有谁能告诉我如何将unsigned char转换为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];
}
答案 0 :(得分:22)
如果tag
是C字符串(以null结尾,那么),那么您可以使用[NSString stringWithUTF8String:(char *)tag]
。如果您想要十六进制值,那么使用%02x
的代码就可以了。
答案 1 :(得分:3)
@jtbandes:你是对的。另一种方法是:
NSString *str = [NSString stringWithCString:tag length:strlen(tag)];