在调试晦涩的代码缺陷时,能够将 GUID 与随机数据区分开来可能很有用。
在 Windows 上,生成的每个 GUID 都是版本 4,因此它具有“4”作为第三部分的前半字节。因此,如果 16 字节序列违反了该规则,则它不是版本 4 GUID。例如,
567E1ECB-EA1C-42D3-A3ED-87A5D824D167
可以是版本 4 GUID 或其他任何东西,但是
567E1ECB-EA1C-02D3-A3ED-87A5D824D167 //third section starts with 0, not with 4
不是版本 4 GUID。
16 字节内存块是否是有效 GUID 的其他标志是什么?