Tow*_*wer 40 php binary function pack
我想更多地了解pack()PHP中的函数:https://secure.php.net/manual/en/function.pack.php
我知道它将数据打包成二进制文件,但我不确定这些v V n N c C是什么意思,我想知道是否有人可以如此善良地给我一个实际演示何时使用哪种格式?
在我看来,在线文档,对于更改,缺乏信息.
RC.*_*RC. 25
这些代表了您希望打包的数据以二进制格式表示的方式:
所以
$bin = pack("v", 1); => 0000000000000001 (16位)
哪里
$bin = pack("V", 1) => 00000000000000000000000000000001 (32位)
它告诉pack你想要如何在二进制数据中表示数据.下面的代码将证明这一点.请注意,您可以使用与打包数据不同的格式解压缩.
<?php
$bin = pack("S", 65535);
$ray = unpack("S", $bin);
echo "UNSIGNED SHORT VAL = ", $ray[1], "\n";
$bin = pack("S", 65536);
$ray = unpack("S", $bin);
echo "OVERFLOW USHORT VAL = ", $ray[1], "\n";
$bin = pack("V", 65536);
$ray = unpack("V", $bin);
echo "SAME AS ABOVE BUT WITH ULONG VAL = ", $ray[1], "\n";
?>
Run Code Online (Sandbox Code Playgroud)