BLE 디바이스의 16 비트 2의 보수 특성을 가지고 있습니다. 그것은 0-1, 2-3, 4-5 ....에서 16-17까지 바이트 수에 9 개의 정수를 포함합니다.NSData의 바이트를 정수로 디코 케이션합니다.
데이터 유형은 NSData
이며, 다음과 같습니다
<faff0100 1b00ab00 daff9141 5603c0fd 06f2>
가 어떻게 정수를 추출 할 수 있습니까?
BLE 디바이스의 16 비트 2의 보수 특성을 가지고 있습니다. 그것은 0-1, 2-3, 4-5 ....에서 16-17까지 바이트 수에 9 개의 정수를 포함합니다.NSData의 바이트를 정수로 디코 케이션합니다.
데이터 유형은 NSData
이며, 다음과 같습니다
<faff0100 1b00ab00 daff9141 5603c0fd 06f2>
가 어떻게 정수를 추출 할 수 있습니까?
데이터는 기본적으로 9 개의 정수 요소 배열입니다.
Objective C로 작업하는 경우 bytes
메서드를 통해 액세스 할 수 있습니다. 올바른 길이가 먼저 있는지 확인하고 싶습니다.
int16_t numberArray[9];
NSData* data = ...; // your NSData instance
memcpy(numberArray, [data bytes], 18);
NSLog(@"First number: %d", numberArray[0]); // bytes 0-1
NSLog(@"Second number: %d", numberArray[1]); // bytes 2-3
NSLog(@"Third number: %d", numberArray[2]); // bytes 4-5
...
NSLog(@"Ninth number: %d", numberArray[8]); // bytes 16-17
'길이'방법에 대해서도 언급 할 가치가 있습니다. (NSData 객체가 나타내는 바이트 수) => https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSData_Class/#//apple_ref/occ/instp/NSData/length –
안녕하세요, 위대하지만 .... 처음 숫자에 빛나는 작품. 그러나 바이트 12-13의 값에 어떻게 액세스합니까? – duck1970
죄송합니다. 9 개의 요소로 구성된 배열입니다. 내 대답을 업데이트했습니다. – Codo
텍스트를 인코딩하는 데 사용되는 UTF-16과는 관계가 없습니다. 귀하가 사용하려는 언어를 지정하고 싶습니다. – Codo
안녕하세요, 아마 지식의 부족은 UTF-16을 다시합니다. Objective_C를 사용하고 있습니다. – duck1970