如何从十进制值构建NSData?

时间:2015-08-20 12:54:39

标签: objective-c bluetooth bluetooth-lowenergy nsdata

我有一个十进制值(从带有GATT的BLE设备读取)256(同一个应用程序也将此值显示为0x00010000并指明类型为16BIT FLOAT)。这是数据结构的the description

我应该如何生成与NSData相同的值?

1 个答案:

答案 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)];