PHP - 将小端十六进制转换为大端序十六进制


PHP - convert little endian hex to big endian hex

我正在尝试将小端六进制转换为大端六进制。

例:

小端序: E1 31 01 00 00 9D

大端序: 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