我有一个十进制值(从带有GATT的BLE设备读取)256
(同一个应用程序也将此值显示为0x00010000
并指明类型为16BIT FLOAT
)。这是数据结构的the description。
我应该如何生成与NSData
相同的值?
答案 0 :(得分:1)
你可以这样做,因为最后它是一个浮点值。
编码:
NSMutableData * data = [NSMutableData dataWithCapacity:0];
[data appendBytes:&yourfloatvalue length:sizeof(float)];
解码:
NSData * data = ...; // loaded from bluetooth
float yourfloatvalue;
[data getBytes:&yourfloatvalue length:sizeof(float)];
如果您不想使用NSMutableData,那么您可以这样做:
NSData * data = [NSData dataWithBytes:&yourfloatvalue length:sizeof(float)];