GUID的格式是否总是相同的?
本文关键字:格式 是否 GUID | 更新日期: 2023-09-27 18:11:23
GUID为aaaef973-d8ce-4c92-95b4-3635bb2d42d5
总是相同的吗?它是否总是有以下格式
8字符"-",4字符"-",4字符"-",4字符"-",12个字符
我问,因为我需要转换GUID没有"-"到GUID与"-"和副签证。
不;还有其他格式,例如您列出的格式,只是用大括号括起来。还有更复杂的格式。以下是MSDN列表中的一些格式:
UUID格式
- 32位:
00000000000000000000000000000000
(N)- 32位用连字符分隔的数字:
00000000-0000-0000-0000-000000000000
(D)- 32位数字,用连字符分隔,用大括号括起来:
{00000000-0000-0000-0000-000000000000}
(B)- 32位数字,用连字符分隔,用圆括号括起来:
(00000000-0000-0000-0000-000000000000)
(P)- 用大括号括起来的四个十六进制值,其中第四个值是同样用大括号括起来的八个十六进制值的子集:
{0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}
(X)msdn
您应该简单地依赖它是32个十六进制字符,可以有多种方式来表示它。查看维基百科文章获取更多信息,包括如何编写它们的描述。
对于您的转换,您应该真正依赖于静态的guide . parse()方法。把你的例子和icktoofay的答案结合起来,效果很好: var z = Guid.Parse("aaaef973-d8ce-4c92-95b4-3635bb2d42d5");
z = Guid.Parse("{aaaef973-d8ce-4c92-95b4-3635bb2d42d5}");
z = Guid.Parse("{0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}");
,然后输出带有或不带有连字符等,您可以使用guide . tostring()方法与已建立的格式代码之一。
大多数情况下,GUIDS是32个字符的十六进制字符串,例如{21EC2020-3AEA-1069-A2DD-08002B30309D}
(除非它们是以Base-64编码的),并且通常存储为128位整数。不过,它们并不总是带有连字符。