Есть ли способ отличить GUID от случайного числа?
Возможность отличать GUID от случайных данных может быть полезна при отладке неясных дефектов кода.
В Windows каждый сгенерированный GUID имеет версию 4, поэтому он имеет «4» в качестве первого полубайта третьей части. Поэтому, если 16-байтовая последовательность нарушает это правило, это не GUID версии 4. Например,
567E1ECB-EA1C-42D3-A3ED-87A5D824D167
может быть GUID версии 4 или что-то еще, но
567E1ECB-EA1C-02D3-A3ED-87A5D824D167 //third section starts with 0, not with 4
это не GUID версии 4.
Каковы другие признаки того, что 16-байтовый блок памяти является или не является действительным GUID?