如何在 Objective-C 中将整数 6 位数字(例如“1234674”)转换为十六进制 4 字节 NSData?
这是我们发送密码的代码部分:
#define HSL_PRIVATE_SERVICE_UUID 0xFF20
#define HSL_PRIVATE_NEW_PASSKEY_UUID 0xFF35
unsigned int newPassKey = [_confirmNewPassKey.text intValue];
NSLog(@"newPasskey %d", newPassKey);
NSData *d = [NSData dataWithBytes:&newPassKey length:sizeof(unsigned int)];
[_t writeValue:HSL_PRIVATE_SERVICE_UUID characteristicUUID:HSL_PRIVATE_NEW_PASSKEY_UUID p:_peripheral data:d];
我做了一次空中捕捉,比较了 BTOOL 和 iPhone 密码写入。
BTOOL(一个模拟器工具)写道(正确的结果):
0x40e201
iPhone 写道(错误数据):
0x0001e240
不确定发生了什么以及如何在应用程序中修复它,以使结果与蓝牙设备的预期相匹配。我希望结果与 BTOOL 相同。