У меня есть следующий Guid:Почему бинарная Guids отличается от обычного представления
AAB13E97-449B-4D5B-BDE2-AC479C31B782
Использование System.Guid + DbLinq + SQLite для хранения его следующее поле добавляется в базу данных.
973EB1AA-9B44-5B4D-BDE2-AC479C31B782
(Штрихи добавил для ясности)
Я могу видеть, что последние 8 байт в том же порядке, и первые 3 группы поменялись местами, но я не понимаю, почему.
«Почему же они спроектировали его так?» - Я предполагаю, что первоначально идентификаторы V1 GUID содержали MAC-адрес в поле Data4. Исторически big-endian был определен как стандартный сетевой порядок байтов и использовался во многих связанных с сетью вещах, таких как IP-адреса, MAC-адреса и т. Д. –
Из Википедии: «Версия 1 (MAC-адрес) Концептуально оригинал (версия 1) для UUIDs заключалась в том, чтобы объединить версию UUID с MAC-адресом компьютера, который генерирует UUID, и с числом 100-наносекундных интервалов с момента принятия григорианского календаря на Западе. Эта схема была подвергнута критике тем, что она недостаточно «непрозрачна»; он показывает как личность компьютера, сгенерировавшего UUID, так и время, в которое он это сделал ». –