添加了 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 int
。 fffff
为负数。 %x
格式需要一个 unsigned int
参数。
正确声明 array
将解决问题:
const uint8_t *array = [deviceInfo bytes];
我正在尝试从 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 int
。 fffff
为负数。 %x
格式需要一个 unsigned int
参数。
正确声明 array
将解决问题:
const uint8_t *array = [deviceInfo bytes];