如何将整数转换为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)