我有下面的样本蓝牙模块代码,我试图实现在我自己的应用程序。

- (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/

10-14 18:59
查看更多