Я попробовал приведенный ниже код, но поскольку я конвертирую его в ushort, поэтому он просто игнорирует шестнадцатеричные значения LSB GUID
Да, это правильно и по уважительной причине выне может хранить 128 бит данных в 16 бит данных.
Name Length (bytes) Contents
---------------------------------------------------------------------------------------
time_low 4 integer giving the low 32 bits of the time
time_mid 2 integer giving the middle 16 bits of the time
time_hi_and_version 2 4-bit "version" in the most significant bits, followed by the high 12 bits of the time
clock_seq_hi_and_res clock_seq_low 2 1-3 bit "variant" in the most significant bits, followed by the 13-15 bit clock sequence
node 6 the 48-bit node id
Если вы хотите, чтобы последние 16 бит (2 байта, 4 шестнадцатеричных значения) просто изменили массив
Array.Reverse(buffer, 0, buffer.Length);
return BitConverter.ToUInt16(buffer, 0);
Примечание что вы естьделать это очень подозрительно, и я действительно думаю, что вам нужно переосмыслить свой дизайн