Ios 添加了NSString stringWithFormat“字符串格式”;“ffffff”;
我试图从NSData中获取字节并将其放入NSString中。在我这样做时,“ffffff”同时添加:Ios 添加了NSString stringWithFormat“字符串格式”;“ffffff”;,ios,objective-c,nsstring,nsdata,Ios,Objective C,Nsstring,Nsdata,我试图从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]]; 返回“53:FFFFFF CB:FFFFFF B8:51:09:
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]];
返回“53:FFFFFF CB:FFFFFF B8:51:09:FFFFFFF 0”当编译器将有符号字符提升为无符号整数时,该问题与符号扩展有关。带有fffff
的数字为负数。%x
格式需要一个无符号int
参数
正确声明array
将解决此问题:
const uint8_t *array = [deviceInfo bytes];
如果使用uint8\u t*array=…
正确声明array
会发生什么情况?是的,它可以工作!我将改用无符号字符。请加上你的评论。