为什么guid有特殊格式?

Ber*_*nDK 5 .net format guid digits

可能重复:
为什么GUID结构按照它的方式声明?

我一直在寻找GUID生成和处理,并想知道微软为什么决定这些"奇怪"的格式.

单个格式说明符,指示如何格式化此Guid的值.格式参数可以是"N","D","B","P"或"X".如果format为null或空字符串(""),则使用"D".

说什么?

格式标志如下:

N:32位= 00000000000000000000000000000000

D:由连字符= 00000000-0000-0000-0000-000000000000分隔的32位数字

B:用连字符分隔的32位数字,用括号括起来= {00000000-0000-0000-0000-000000000000}

P:用连字符分隔的32位数字,用括号括起来=(00000000-0000-0000-0000-000000000000)

X:括在括号中的四个十六进制值,其中第四个值是八个十六进制值的子集,也包含在大括号中= {0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }}

为什么???

为什么不是00000000-00000000-00000000-00000000

或0000-0000-0000-0000-0000-0000-0000-0000 ??

除了微软之外,有没有人有一个好的答案?:O)

Ioa*_*oan 5

UUID/GUID 具有根据RFC-4122 的标准表示。更简单的解释在这里