UUID를 사용하는 C++ 함수에는 16 바이트 구조 (문자열 아님)에 대한 포인터가 필요합니다.
UUID를 문자열로 주어진 경우,이 같은 구조로 변경해야합니다
문자열 HEART_RATE_MEASUREMENT = "00002a37-0000-1000-8000-00805f9b34fb"; 반대로해야
UUID Heart_Rate_UUID = { 0x00002a37, 0x0000, 0x1000, 0x00, 0x80, 0x00, 0x80, 0x5f, 0x9b, 0x34, 0xfb };
구조체 UUID는 {길고 짧은 [2], 숯 [8]} 그래서 주목되는 문자열 (-8000-)에서 제 3 그룹 (하는 0x00을 0x80)으로 인해 프로세서 엔디 언.
얻어진 이진 코드는 실제로 80 5F 9B 34 FB
바이트 순서 10 00 80 00 00 00 00 00 00이 완전히 x86 프로세서를 위해 스크램블 37 2A 것이다.
이러한 이유로 네트워크 바이트 순서가 프로세서 종속 바이트 순서와 다를 수 있으므로 UUID는 일반적으로 웹 응용 프로그램의 텍스트로 전달됩니다.
Microsoft 컴파일러에는 변환에 도움이되는 MIDL (q.v.)과 같은 일부 확장이 있지만 위의 그림과 같이 많은 프로그래머가 직접 다시 작성할 수 있습니다.
출처
2017-12-23 08:02:03
RAB
https://www.bluetooth.com/specifications/assigned-numbers에서도 보았습니다. 그러나 나는 어떻게 모른다. –
* "나는 그들이 UUID 번호를 얻는 방법을 모른다"* ... 이것은 혼란 스럽다. 당신이 갇혀있는 것에 대해 좀 더 명확하게 해줄 수 있습니까? – codeMagic