如何在 MacOS Objective C / C++ 中将 UUID 转换为 16 字节的 UInt8 数组

How to convert UUID into 16 bytes UInt8 array in MacOS Objective C / C++

我可以使用下面的代码获取 UUID 字符串..

CFUUIDRef theUUID = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUUID);

或者我可以使用下面的代码获取字节

CFUUIDRef theUUID = CFUUIDCreate(NULL);
CFUUIDBytes bytes = CFUUIDGetUUIDBytes(theUUID);

但我想制作一个 UInt8 数组,因为 UUID 是 16 个字节,所以输出数组应该是 16 个字节。

通过检查 CFUUIDBytes typedef 您可以了解如何访问每个字节:

CFUUIDRef theUUID = CFUUIDCreate(NULL);
CFUUIDBytes bytes = CFUUIDGetUUIDBytes(theUUID);

UInt8 rawData[16];
rawData[0] = bytes.byte0;
rawData[1] = bytes.byte1;
...
rawData[15] = bytes.byte15;