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() 函数吗?
基础教程推荐
- PHP PDO MySQL 查询 LIKE ->多个关键词 2021-01-01
- 如何在 Laravel 中使用 React Router? 2022-01-01
- 学说 dbal querybuilder 作为准备好的语句 2022-01-01
- 如何在 Laravel 5.3 注册中添加动态下拉列表列? 2021-01-01
- YouTube API v3 点赞视频,但计数器不增加 2022-01-01
- 如何替换eregi() 2022-01-01
- 有什么方法可以用编码 UTF-8 而不是 Unicode 返回 PHP`json_encode`? 2021-01-01
- PHP 类:全局变量作为类中的属性 2021-01-01
- Cron Jobs 调用带有变量的 PHP 脚本 2022-01-01
- 在PHP中根据W3C规范Unicode 2022-01-01
