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

Место общения программистов C#
Ответить
Anonymous
 Почему Guid.ToByteArray() упорядочивает байты именно так?

Сообщение Anonymous »

Когда вы вызываете 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) здесь и здесь.

Подробнее здесь: https://stackoverflow.com/questions/919 ... ay-it-does
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»