У меня есть шестнадцатеричная полезная нагрузка 1703cd0650000aff79fc2802, которую я хотел бы распаковать в значения.Мне дано определение:
Байт 1:
0bxx01, порядок: MS nibble
0byyxx, порядок: LS nibble
Байт 2 0bxxxxxxxx MSB
Байт 3 0bxxxxxxxx LSB
и так далее, всего 12 байтов
И я конкатирую байты 2 + 3, чтобы получить расстояние в мм.Может ли кто-нибудь помочь мне с распаковкой, которая могла бы достичь этого?
Я пытался распаковать, используя 'B8B8B8':
Байт 1, часть 1: Я получаю 0001, который я считаю равным 1
Байт 1, часть 2: я получаю 1110, который я изменил (как младший бит), что дает мне 14
Байт 2: я получаю 00000011, который я считаю 3
Байт 3: я получаю 11001101, который я изменил на 10110011 (как младший бит), который, я думаю, равен 179
Так же как и значение 3 + 179 конкат 3179 или ('00000011' + '10110011'). To_i(2) это 973
Я также пытался распаковать с 'B8S>', и byte2 также дает мне 973.
Спасибо