我的UUID的结构如下:
struct UUID_FIELDS
{
uint32_t time_low;
uint16_t time_mid;
uint16_t time_hi_and_version;
uint8_t clock_seq_hi_and_reserved;
uint8_t clock_seq_low;
uint8_t node[6];
};我有swap沿32位边界的函数和沿16位边界交换的swap function。我试过给swap32()打time_low电话,打swap16()电话给time_mid和time_hi_and_version。我不认为我需要将字节交换给其余的字段,因为其中两个字段是8位字段,并且我已经读到uuid的节点部分不会更改。以下是该参考的链接。
问题是,当我完成交换时,打印的uuid与转换前的小endian中的uuid不匹配。
按照RFC-4122标准将uuid从little endian转换到big endian的正确方法是什么?当被转换时,uuid应该匹配吗?
https://stackoverflow.com/questions/37711358
复制相似问题