1
是否有标准接受的方式来通过网络(或文件存储)传输字节交换UUID? (我想发送/存储16个原始字节,而不是将UUID转换为字符串表示形式。)通过网络传输UUID和字节
我认为起初我应该将UUID划分为4个32位整数并在它们每个上调用htonl,但那味道不对。 UUID的具有内部结构(从RFC 4122):
typedef struct {
unsigned32 time_low;
unsigned16 time_mid;
unsigned16 time_hi_and_version;
unsigned8 clock_seq_hi_and_reserved;
unsigned8 clock_seq_low;
byte node[6];
} uuid_t;
难道是正确的事:
...
uuid.time_low = htonl(uuid.time_low);
uuid.time_mid = htons(uuid.time_mid);
uuid.time_hi_and_version = htons(uuid.time_high_and_version);
/* other fields are represented as bytes and shouldn't be swapped */
....
写入之前,然后correpsonding NTOH ......在另一端阅读后调用?
谢谢。
谢谢。我控制两端。我将在内部选择主机排序,因此如果将time_low初始化为little endian上的0x01020304并通过网络发送,则在另一端的big-endian上的值仍将为0x01020304。 – 2009-07-23 13:37:50