當進入下面的代碼到C#即時窗口,它產生一些不尋常的結果,這是我只能假設是因爲內部,System.Guid
翻轉一定字節數:爲什麼System.Guid翻轉字節數組中的字節?
當使用從0序字節數組15
new Guid(new byte[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15})
[03020100-0504-0706-0809-0a0b0c0d0e0f]
當使用帶值的非順序的字節數組0-15
new Guid(new byte[] {3, 2, 1, 0, 5, 4, 7, 6, 8, 9, 10, 11, 12, 13, 14, 15})
[00010203-0405-0607-0809-0a0b0c0d0e0f]
爲什麼前3組翻轉?
大端,小端。英特爾設計微處理器的方式決定了字節順序。英特爾在那裏設計了micro的速度和交換字節順序,使得微型計算機運行更快。微軟只是遵循了英特爾規範。 – jdweng
另請參閱https://stackoverflow.com/questions/9195551/why-does-guid-tobytearray-order-the-bytes-the-way-it-does?rq=1 – schnaader