我有下面的样本蓝牙模块代码,我试图实现在我自己的应用程序。
- (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
我知道蓝牙模块正在发送一个10字节的数据包我要前两个字节的信息。这些是十六进制值吗?如何将它们转换为十进制?
如有任何帮助,我们将不胜感激。
最佳答案
如果使用的是C,只需使用print f函数:
printf("%x", DATA[i]);
这会把它打印成十六进制。如果要将其打印为字符串,请按如下方式打印:
printf("%s", DATA);
十进制的:
printf("%d", DATA[i]);
它现在似乎正在打印它的ascii值。
关于ios - 来自蓝牙模块的未知数据类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16923230/