在iOS CoreBluetooth中将CBUUID数据解码为NSString

时间:2013-06-14 05:37:59

标签: ios encoding nsstring nsdata core-bluetooth

所以情况就是这样:我能够看到外围设备内部的服务,但是如果不调用discoverServices:我就无法正确解码它们。

问题是:如何将CBUUID.data转换为存储的实际NSString

- 数据显示为<20c0b7a0 982c11e2 9e960800 200c9a66>

- 但存储的实际值为DF8EE4F1-4899-4FF6-8EE4-75890

但是在得出任何结论之前,我已经尝试了我发现的每种解码方法,包括:

1)

NSString *uuidString = [NSString stringWithUTF8String:[uuidData bytes]];

2)。

NSString *uuidString = [[NSString alloc]  initWithBytes:[uuidData bytes]
              length:[uuidData length] encoding: NSUTF8StringEncoding];
//I tried this method with every single type of encoding actually

上述两种方法均为(null);

3。)

size_t length = [uuidData length];
unsigned char aBuffer[length];
[uuidData getBytes:aBuffer length:length];
aBuffer[length - 1] = 0;
NSLog(@"uuid: %s", aBuffer);

此方法返回:¿∑†ò,‚ûñ

如果有人能正确解码或编码,我将永远感激!!!

0 个答案:

没有答案