我正在开发iOS测试应用程序,以便与我开发的蓝牙4.0 LE模块配合使用。该模块用作与其他电子设备的无线UART连接。我需要通过外设发送一个二进制字节数组。我的设置已经使用NSdata并通过蓝牙将其传输到模块。
比如说我有一个NSString @“ABCDE”然后字符串转换成NSdata并传输,它到达我的模块,因为“ABCDE”工作得很好,没有问题。
然而,对于我的一个主要应用程序,我需要使用查找表将字符串的字符串转换为专有字节数组。然后这个字节数组需要成为NSdata并被传输。
以下是一个例子:
假设我有string @"A"
查找函数确定每个“A”变为5个二进制字节:"0111111 1001000 100100 0111111 0000000"
(所有字母由5个字节的二进制数据组成。
现在我需要将它存储在NSData对象中,以便通过蓝牙发送。我遇到的问题是,如果我使用该数据的字符串表示,我将得到一个不正确的数据对象。我尝试了很多东西,但似乎没有任何工作。任何帮助将不胜感激!
答案 0 :(得分:0)
这只是一个例子,但我认为你可以明白这一点,只需正确设置字节数组的值并将其传递给NSData:
char t[16];
t[0] = ((UUID >> 8) & 0xff);
t[1] = (UUID & 0xff);
NSData *data = [[NSData alloc] initWithBytes:t length:16];