Почему Guid.ToByteArray () упорядочивает байты именно так?

Когда вы вызываете ToByteArray () для GUID в .NET, порядок байтов в результирующем массиве не такой, как вы ожидаете по сравнению с строковое представление GUID. Например, для следующего GUID, представленного в виде строки:

11223344-5566-7788-9900-aabbccddeeff

Результат ToByteArray () следующий:

44, 33, 22, 11, 66, 55, 88, 77, 99, 00, AA, BB, CC, DD, EE, FF

Обратите внимание, что порядок первых четырех байтов обратный. Также меняются местами байты 4 и 5 и байты 6 и 7. Но последние 8 байтов находятся в том же порядке, в котором они представлены в строке.

Я понимаю, что это происходит. Я хотел бы знать, почему .NET справляется с этим именно так.

Для справки, вы можете увидеть некоторую дискуссию и путаницу по этому поводу (неправильная атрибуция баз данных Oracle) здесь и здесь .

46
задан Community 23 May 2017 в 10:30
поделиться