pack() 是 PHP 中的一个内置函数,用于将数据转换为二进制字符串。pack() 函数接受两个参数:
常见的格式代码有:
a:NUL-padded stringA:SPACE-padded stringh:Hex string, low nibble firstH:Hex string, high nibble firstc:signed charC:unsigned chars:signed short (always 16 bit, machine byte order)S:unsigned short (always 16 bit, machine byte order)n:unsigned short (always 16 bit, big endian byte order)v:unsigned short (always 16 bit, little endian byte order)i:signed integer (machine dependent size and byte order)I:unsigned integer (machine dependent size and byte order)l:signed long (always 32 bit, machine byte order)L:unsigned long (always 32 bit, machine byte order)N:unsigned long (always 32 bit, big endian byte order)V:unsigned long (always 32 bit, little endian byte order)f:float (machine dependent size and representation)d:double (machine dependent size and representation)x:NUL byteX:Back up one byte@:NUL-fill to absolute positionvalues(值):一个或多个要转换为二进制字符串的值。这些值可以是整数、浮点数或字符串。示例:
$format = "A3a3"; // 3个大写字母,后面跟3个小写字母$values = ["ABC", "xyz"];$binary_string = pack($format, ...$values);echo $binary_string; // 输出:ABCxyz注意:pack() 函数不会对输入值进行类型检查,因此请确保提供正确的值类型。错误的值类型可能导致不可预测的结果。


