定义和用法
pack()
函数将数据打包成二进制字符串。
实例
例子 1
将数据打包成二进制字符串:
<?php
echo pack("C3",80,72,80);
?>
亲自试一试
例子解释:
pack("C*", 80, 72, 80) 将三个无符号字符(80, 72, 80)打包成一个二进制字符串。C* 表示打包一个或多个无符号字符。在这个例子中,输出将是包含这三个字符的二进制字符串。注意,字符 80、72 和 80 在 ASCII 表中分别对应于字符 'P'、'H' 和 'P',因此输出将是字符串 "PHP"。
例子 2
<?php
echo pack("C*",80,72,80);
?>
亲自试一试
语法
pack(format,args+)
参数 |
描述 |
format |
必需。指定打包数据时使用的格式。 |
args+ |
可选。指定一个或多个要打包的参数。 |
format 参数的可能值:
- a - NUL 填充的字符串
- A - SPACE 填充的字符串
- h - 十六进制字符串,低位在前
- H - 十六进制字符串,高位在前
- c - 有符号字符
- C - 无符号字符
- s - 有符号短整型(总是 16 位,机器字节序)
- S - 无符号短整型(总是 16 位,机器字节序)
- n - 无符号短整型(总是 16 位,大端字节序)
- v - 无符号短整型(总是 16 位,小端字节序)
- i - 有符号整型(机器相关的大小和字节序)
- I - 无符号整型(机器相关的大小和字节序)
- l - 有符号长整型(总是 32 位,机器字节序)
- L - 无符号长整型(总是 32 位,机器字节序)
- N - 无符号长整型(总是 32 位,大端字节序)
- V - 无符号长整型(总是 32 位,小端字节序)
- q - 有符号长长整型(总是 64 位,机器字节序)
- Q - 无符号长长整型(总是 64 位,机器字节序)
- J - 无符号长长整型(总是 64 位,大端字节序)
- P - 无符号长长整型(总是 64 位,小端字节序)
- f - 浮点数(机器相关的大小和表示)
- g - 浮点数(机器相关的大小,小端字节序)
- G - 浮点数(机器相关的大小,大端字节序)
- d - 双精度浮点数(机器相关的大小和表示)
- e - 双精度浮点数(机器相关的大小,小端字节序)
- E - 双精度浮点数(机器相关的大小,大端字节序)
- x - NUL 字节
- X - 回退一个字节
- Z - NUL 填充的字符串
- @ - NUL 填充到绝对位置