在调试晦涩的代码缺陷时,能够将 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 的其他标志是什么?
最佳答案
GUID 是十六进制的,因此您可以检查包含哪些字符(即“X”、“Y”等无效)
检查维基百科的定义,你可能会在那里找到更多的想法。
http://en.wikipedia.org/wiki/Globally_Unique_Identifier
关于debugging - 有没有办法将 GUID 与随机数区分开来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1771410/