为什么.NET GUID中会有破折号?

67

为什么 .NET GUID 中有连字符?大部分实现 GUID 的程序中是否都有连字符,还是只有微软的实现有?

谢谢,

741ecf77-9c92-4435-8e6b-85975bd13452


有趣的问题。我必须说,我从未停下来思考过它。 - Jason Baker
GUIDs的熵值数量不受其是否带有连字符的影响。 - recursive
连字符只用于将 UUID 以文本形式显示时。真正的 UUID 是一个由 16 个字节组成的二进制字符串/数组。 - Bart van Heukelom
13个回答

0
如果你想要在某个地方存储一个 GUID,那么请将它存储为一个由 16 个字节组成的数组,而不是它的文本表示形式。这样可以节省很多空间,并且不会出现连字符的问题。

0
GUID其实只是一个数字。连字符只是用来展示各个组成部分的,不是数字的一部分。这就像IP地址-你可以存储32位数字,也可以存储带有点的字符串,它们是等效的。

0

连字符对值的唯一性或随机性没有任何影响。它们仅仅是GUID定义中的遗留物,并在视觉上分隔组成GUID的四个不同部分的数据。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接