4
typedef char    __darwin_uuid_string_t[37];

这段代码不包括 MacOS10.8/user/include/sys/_types.h 我想知道为什么这里是数字 37,而不是 2 的幂?

4

3 回答 3

7

UUID的长度为36 个字符,因此形成 37 个字符的字符串,包括末尾的空字符。

UUID 是一个 16 字节(128 位)的数字。在其规范形式中,UUID 由 32 个十六进制数字表示,显示在由连字符分隔的五组中,格式为 8-4-4-4-12,总共 36 个字符(32 个数字和四个连字符)。

于 2012-12-14T17:00:59.417 回答
2

一个 UUID 包含 36 个字符加上终止的 0 字节。

例如(来自维基百科页面):550e8400-e29b-41d4-a716-446655440000

于 2012-12-14T17:01:07.600 回答
0

36 个字符的 UUID(32 位数字加上 4 个“-”分隔符),加上 0 终止符。

我假设。

并非所有事物都必须是 2 的幂。

于 2012-12-14T17:01:49.070 回答