对于项目,我需要通过蓝牙将密钥发送到BLE设备。
我从我的webservice接收密钥作为NSString。例如1234
现在我需要发送到设备的是
Byte byteArray[] = {0x12, 0x34};
是否有人可以给我一些示例代码,告诉我如何做到这一点?
由于
答案 0 :(得分:0)
要将字符串作为字节发送,您应该使用以下代码:
NSString *yourString = @"1234";
NSData *data = [yourString dataUsingEncoding:NSUTF8StringEncoding];
NSUInteger len = [data length];
Byte *byteData = (Byte*)malloc(len);
memcpy(byteData, [data bytes], len);
但是0x12
十六进制等于十进制的18
。
有用的链接:
答案 1 :(得分:0)
我终于使用组合webservice-xcode设法做到了这一点 我没有将整个密钥作为一个字符串发送,而是将其拆分并在PHP中将前两个数字转换为十六进制(在Web服务上)。
使用此代码,我创建了正确的字节数组,用于发送代码:
NSString *key1 = [message objectForKey:@"key1"];
NSString *key2 = [message objectForKey:@"key2"];
unsigned char byteArray[2];
byteArray[0] = [key1 intValue];
byteArray[1] = [key2 intValue];