我从蓝牙低功耗传感器获取了一些十六进制参数。
当我通过调用在屏幕上打印参数时:
char * gotData = getTheData();
NSLog(@"My data: %u", gotData[1]);
打印实际上将十六进制表示转换为十进制。
gotData
中的我的数据是带有十六进制表示的字符。例如
gotData = [0xFA, 0xCC];
我想将整数值(0xFA
)分配给objective-c / iOS中的任何对象。
使用哪一个?
提前致谢!
答案 0 :(得分:3)
你在谈论十六进制“演示文稿”。这比你想象的更正确。这是数字数据的一种可能的表示。 Char可以由0xFA
表示。 %u
本身并不以十六进制格式显示数据。但是,没有任何转换。 0xFA
与250完全相同,只是一个不同的REPRESENTATION。
NSNumber
是用于存储数值的适当对象。在您的情况下是否可行取决于您希望如何进一步处理它。
您在gotData中的数据根本没有表示。它只是一个八位字节流。数字数据。我们整个行业使用的基础数据类型。
如果您想使用NSLog
将其显示为十六进制,请尝试%x
或%X
。