1

我需要将 uint8_t 缓冲区中单个元素的内容转换为 NSString ,以便可以将其显示为 iPhone 应用程序上的标签。我从 TCP 连接中读取了缓冲区 OK 的内容。我没有得到正确的编码,以便可以正确显示元素的值。例如,如果 buffer[4] 的内容为 0xFD 或 253,我如何才能最好地将其传输到标签?(标签是data1)还是有更简单的方法?谢谢。

uint8_t buffer[64]; 
uint8_t tinybuffer[1];
int len;

// Read in contents from TCP connection, log dump, and display to label.
len = [inputStream read:buffer maxLength:sizeof(buffer)];

if (len > 0) {
// Log dump
for(int i = 0; i < len; i++) {
    NSLog(@"Returning byte %d  : %x", i, buffer[i]);
}
NSLog(@"Finished Reading");

// Get data to the screen.
tinybuffer[0] = buffer[4];
NSString *str1 = [[NSString alloc] initWithBytes:tinybuffer length:1 encoding:NSUTF8StringEncoding];
_data1.text = str1;
4

1 回答 1

4
NSString *str1 = [NSString stringWithFormat:@"%d", tinybuffer[0]];

应该做你想做的。

于 2013-08-29T19:32:20.497 回答