2016-01-30 3 views
1

Я пытаюсь преобразовать little endian hex to big endian hex.PHP - преобразование маленького эндианского шестнадцатеричного кода в большой эндианский шестнадцатеричный

Пример:

Маленький младшему: E1 31 01 00 00 9D

Большой обратный порядок байт: 9D 00 00 01 31 E1

+0

Пробовал несколько вещей с упаковкой и распаковкой, ничего не получилось. – Jesse

ответ

1

Если номера в формате, описанном чем можно преобразовать, используя стандартные функции массива.

function littleToBigEndian($little) { 
    return implode(' ',array_reverse(explode(' ', $little))); 
} 

echo littleToBigEndian('E1 31 3C 01 00 00 9B'); 
// Output: 9B 00 00 01 3C 31 E1 

Если нет места для разделения чисел нужно str_split() строки вместо.

function littleToBigEndian($little) { 
    return implode('',array_reverse(str_split($little,2))); 
} 

echo littleToBigEndian('E1313C0100009B'); 
// Output: 9B0000013C31E1 
Смежные вопросы