Possible Duplicate:
Why is the GUID structure declared the way it is?
i've been looking a GUID generation and handling and is wondering why Microsoft has decided these "strange" formats.
A single format specifier that indicates how to format the value of this Guid. The format parameter can be "N", "D", "B", "P", or "X". If format is null or an empty string (""), "D" is used.
Say what?
Format flags goes as following:
N: 32 digits = 00000000000000000000000000000000
D: 32 digits separated by hyphens = 00000000-0000-0000-0000-000000000000
B: 32 digits separated by hyphens, enclosed in braces = {00000000-0000-0000-0000-000000000000}
P: 32 digits separated by hyphens, enclosed in parentheses = (00000000-0000-0000-0000-000000000000)
X: Four hexadecimal values enclosed in braces, where the fourth value is a subset of eight hexadecimal values that is also enclosed in braces = {0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}
Why???
Why not a 00000000-00000000-00000000-00000000
or 0000-0000-0000-0000-0000-0000-0000-0000 ??
Does any one have a good answer, except its Microsoft? :o)
It's possible to generate an identical guid over and over. However, the chances of it happening are so low that you can assume they are unique.
Types of GUIDsThere a 5 versions of GUIDs defined in RFC 4122, each with different properties. To identify the version of the GUID, just look at the version digit e.g version 4 GUIDs have the format xxxxxxxx-xxxx-4xxx-Nxxx-xxxxxxxxxxxx where N is one of 8,9,A, or B.
Long sequences are very hard to parse for humans, hence the hyphens.
Yes, a byte in a Guid could have any value between #0~#255.
UUID/GUID have standard representations according to RFC-4122. Simpler explanation here.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With