#java #arrays #string #hex #data-conversion
#java #массивы #строка #шестнадцатеричный #преобразование данных
Вопрос:
У меня есть массив байтов, содержащий информацию в следующем формате:
byte 1 : 0xAA
byte 2 : checksum = XOR
byte 3-20
byte 3- 4 : unsigned 16-bit, LSB first
byte 5- 6 : Iunsigned 16-bit, LSB first
byte 7- 8 : unsigned 16-bit, LSB first
byte 9-10 : unsigned 16-bit, LSB first
byte 11-12 : unsigned 16-bit, LSB first
byte 13-14 : unsigned 16-bit, LSB first
byte 15-16 : signed 16-bit, LSB first
byte 17-18 : signed 16-bit, LSB first
byte 19-20 : signed 16-bit, LSB first
Как мне преобразовать его в массив десятичного формата или просто каждую пару в десятичную?
Редактировать, например: AA 20 AD 28 97 31 EE 29 1D 17 6D 1A B4 0D 03 00 F8 FF FA FE
прямое преобразование байтового массива в шестнадцатеричный. Теперь я хочу преобразовать либо эти шестнадцатеричные значения, либо исходный байтовый массив в десятичные дроби в соответствии с заданным форматом.
Комментарии:
1. byte1 * 256 byte2?
2.
decimal format array
Что бы это было? Вы должны привести пример, используя значения в вашем байтовом массиве.3. @blackapps Помните, что байты Java подписаны и что LSB идет первым, поэтому
byte1*256 byte2
на самом деле не соответствует вопросу.4. Я знаю. Просто идея для начала. Сначала мы хотели бы посмотреть некоторые испытания из OP.
5. @blackapps преобразует в десятичный формат и помещает его в массив