Я пытаюсь конвертировать немного порядковый номер шестнадцатеричный к Big Endian шестигранный.
Пример:
Little endian:
E1 31 01 00 00 9D
Big endian:
9D 00 00 01 31 E1
Если числа в описанном формате, вы можете конвертировать их с помощью стандартных функций массива.
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
Других решений пока нет …