Objective-C – 如何将Byte数组转换为NSString?

我试图将字节数组转换为NSString对象。 出于测试目的,我只是尝试将字符串的内容打印到日志中。

这是我得到的:

 UInt8 buf[BUFSIZE]; CFIndex bytesRead = CFReadStreamRead(stream, buf, BUFSIZE); if (bytesRead > 0) { NSString *serverText = [[NSString alloc] initWithBytes:buf length:(NSUInteger)BUFSIZE encoding:NSASCIIStringEncoding]; NSLog("%@",serverText); [serverText release]; 

我正在尝试使用initWithBytes初始化一个新的NSString并将其存储在serverText 。 我可以在调试器中看到serverText的值是“无效地址”。 我是objective-c的新手,但我认为这意味着initWithBytes工厂方法不成功。

缓冲区包含数据。 有人可以帮我吗?

谢谢..

在这里我提出了:

  NSData *data = [[NSMutableData alloc] init]; uint8_t buffer[1024]; unsigned int len = 0; len = [(NSInputStream *)stream read:buffer maxLength:1024]; if(len > 0) { [data appendBytes:&buffer length:len]; } NSString *serverText = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding]; NSLog(@"%@", serverText);