添加了 NSString stringWithFormat "ffffff"

NSString stringWithFormat added "ffffff"

我正在尝试从 NSData 获取字节并将其放入 NSString。当我这样做时 "ffffff" 同时添加 :

char *array = (char *)[deviceInfo bytes];
return [NSString stringWithFormat:@"%02x:%02x:%02x:%02x:%02x:%02x", array[5],array[4],array[3],array[2],array[1],array[0]];

returns“53:ffffffcb:ffffffb8:51:09:fffffff0”

此问题与 符号扩展 有关,因为编译器会将您的 signed char 升级为 unsigned intfffff 为负数。 %x 格式需要一个 unsigned int 参数。

正确声明 array 将解决问题:

const uint8_t *array = [deviceInfo bytes];