Can someone explain to me the pack() function in PHP?(有人可以向我解释 PHP 中的 pack() 函数吗?)
问题描述
我想了解更多关于 PHP 中的 pack()
函数:https://secure.php.net/manual/en/function.pack.php
I would like to know more about the pack()
function in PHP: https://secure.php.net/manual/en/function.pack.php
我知道它将数据打包成二进制文件,但我不确定所有这些 v V n N c C
是什么意思,我想知道是否有人可以给我一个实用的演示何时使用哪些格式?
I know it packs data into binary, but I'm not sure what all those v V n N c C
mean and I was wondering if someone could be so kind as to give me a practical demonstration when to use which formats?
在我看来,在线文档缺少信息.
The online documentation, for a change, lacks of information, in my opinion.
推荐答案
这些表示您希望打包的数据如何以二进制格式表示:
Those represent how you want the data you are packing to be represented in binary format:
所以
$bin = pack("v", 1);=>0000000000000001
(16位)
在哪里
$bin = pack("V", 1) =>000000000000000000000000000000001
(32位)
它告诉 pack 你希望二进制数据中的数据如何表示.下面的代码将证明这一点.请注意,您可以使用不同的解包根据您打包数据的格式.
It tells pack how you want the data represented in the binary data. The code below will demonstrate this. Note that you can unpack with a different format from what you packed the data as.
<?php
$bin = pack("S", 65535);
$ray = unpack("S", $bin);
echo "UNSIGNED SHORT VAL = ", $ray[1], "
";
$bin = pack("S", 65536);
$ray = unpack("S", $bin);
echo "OVERFLOW USHORT VAL = ", $ray[1], "
";
$bin = pack("V", 65536);
$ray = unpack("V", $bin);
echo "SAME AS ABOVE BUT WITH ULONG VAL = ", $ray[1], "
";
?>
这篇关于有人可以向我解释 PHP 中的 pack() 函数吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:有人可以向我解释 PHP 中的 pack() 函数吗?
基础教程推荐
- 超薄框架REST服务两次获得输出 2022-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- 在多维数组中查找最大值 2021-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01