PHP-将Little Endian Hex转换为Big Endian Hex

Jes*_*sse 2 php byte unpack endianness pack

我正在尝试将小端字节转换为大端字节

例:

小尾数法: E1 31 01 00 00 9D

大端: 9D 00 00 01 31 E1

max*_*xhb 5

如果数字采用上述格式,则可以使用标准数组函数进行转换。

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
Run Code Online (Sandbox Code Playgroud)

如果没有空格分隔数字,则需要str_split()输入字符串。

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

echo littleToBigEndian('E1313C0100009B');
// Output: 9B0000013C31E1
Run Code Online (Sandbox Code Playgroud)