English | 简体中文 | 繁體中文
查询

pack()函数—用法及示例

「 将数据转换为二进制字符串 」


函数名称:pack()

适用版本:PHP 4, PHP 5, PHP 7

函数描述:pack()函数将数据转换为二进制字符串。

用法:pack(string $format, mixed $args, mixed ...$)

参数:

  • $format:指定数据的格式。格式字符串由一系列指示符组成,每个指示符代表一个数据类型和长度。
  • $args:要转换为二进制字符串的数据。可以是一个或多个参数,根据格式字符串的要求。

返回值:返回转换后的二进制字符串,如果转换失败则返回false。

示例1:

$format = 'C2s3';
$data = pack($format, 65, 66, "CD", 67, 68, 69);
echo bin2hex($data); // 输出:410042004300440045

// 解释:使用格式字符串'C2s3',其中'C'代表无符号字符,'2'代表重复两次,'s'代表有符号短整型,'3'代表重复三次。
// pack()函数将参数依次转换为二进制字符串,并将其连接起来。
// 最后使用bin2hex()函数将二进制字符串转换为十六进制字符串进行输出。

示例2:

$format = 'A5a10';
$data = pack($format, 'Hello', 'World');
echo $data; // 输出:Hello     World

// 解释:使用格式字符串'A5a10',其中'A'代表空格填充的字符串,'5'代表长度为5,'a'代表空格填充的字符串,'10'代表长度为10。
// pack()函数将参数转换为二进制字符串,并根据指示符的要求进行填充。
// 输出结果为两个字符串连接在一起,长度分别为5和10,并且使用空格进行填充。

注意事项:

  • 格式字符串中的指示符和参数的类型、长度必须对应。
  • pack()函数支持的指示符非常多,包括各种整型、浮点型、字符串、数组等数据类型。
  • 详细的指示符列表和用法可以参考PHP官方文档。
补充纠错
上一个函数: parallel\bootstrap()函数
热门PHP函数
分享链接