如何将一个整数转换为4个字节的数组?
以下是我想要移植的确切代码(使用C#)
int i = 123456;
byte[] ar = BitConverter.GetBytes(i);
// ar will contain {64, 226, 1, 0}
我该如何在PHP中做完全相同的事情?
等效的转换是
$i = 123456;
$ar = unpack("C*", pack("L", $i));
然而,您需要注意字节顺序(小端 / 大端)取决于机器架构(如同 BitConverter
)。这可能会是好或不好的。
在PHP中,字节数组的等价物是字符串,因此可以使用以下代码:
$bytes = pack('L', 123456);
bin2hex
函数:echo bin2hex($bytes);
// 40e20100
// (meaning 64, 226, 1, 0)
echo $bytes[0], $byte[1], $byte[2], $byte[3];
PHP字符串本质上就是字节数组。 - decezestr_split($bytes)
。 - FluorescentGreen5