我想知道更多關於PHP包()函數:http://fi.php.net/manual/en/function.pack.php有人可以向我解釋PHP中的pack()函數嗎?
我知道它包數據轉換成二進制,但我不知道所有這些v爲V N N c個C均值,我想知道如果有人可以善良,並給我一個實際的演示何時使用哪種格式?
在我看來,在線文檔中用於更改,缺少信息。
我想知道更多關於PHP包()函數:http://fi.php.net/manual/en/function.pack.php有人可以向我解釋PHP中的pack()函數嗎?
我知道它包數據轉換成二進制,但我不知道所有這些v爲V N N c個C均值,我想知道如果有人可以善良,並給我一個實際的演示何時使用哪種格式?
在我看來,在線文檔中用於更改,缺少信息。
那些表示希望如何您正在包裝以二進制格式來表示的數據:
所以
$bin = pack("v", 1); => 0000000000000001
(16位)
其中
$bin = pack("V", 1) => 00000000000000000000000000000001
(32位)
它告訴你如何在二進制數據中表示數據。下面的代碼將證明這一點。請注意,您可以將打包數據的格式與其他 格式打包。
<?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";
?>
正如php文檔中所述,函數是從Perl的包函數中借用的。
看看Perl's documentation for pack,特別是頁面底部的示例部分。 PHP的包並沒有實現所有的格式,但Perl的文檔功能在提供示例和解釋每種格式方面做得更好。