我有以下示例蓝牙模块代码,我试图在我自己的应用程序中实现。
- (void)receivedData:(unsigned char *)data length:(NSUInteger)len; {
NSLog(@"DATA: %s", data );}
控制台正在打印出这样的日志:
2013-06-04 17:32:05.408 xyz[155:707] DATA: 0ıÊ
2013-06-04 17:32:05.447 xyz[155:707] DATA: 03803DE
2013-06-04 17:32:05.668 xyz[155:707] DATA: 0ıÊ
2013-06-04 17:32:05.709 xyz[155:707] DATA: 0B403DE
我知道蓝牙模块正在发送一个十字节的数据包。我想要前两个字节的信息。这些HEX值是多少?如何将它们转换为十进制?
感谢任何帮助。
答案 0 :(得分:2)
如果你正在使用C,只需使用print f函数:
printf("%x", DATA[i]);
将其打印为十六进制。如果要将其打印为字符串,只需按以下方式打印:
printf("%s", DATA);
十进制:
printf("%d", DATA[i]);
现在看来它正在打印其ascii值。