PHP杂项函数之pack($format,arg+)

PHP中不属性其他类别的函数就叫杂项函数,也属性PHP的核心组成部分

pack($format,arg+)  //把数据装入一个二进制的字符串中

$format:必选,规定在包装数据时所使用的格式。
arg+:可选,规定被包装的一个或多个参数

$format参数的可能值

  a - NUL-padded string

  A - SPACE-padded string

  h - Hex string, low nibble first

  H - Hex string, high nibble first

  c - signed char

  C - unsigned char

  s - 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 byte

  X - Back up one byte

  @ - NUL-fill to absolute position

如实例:

echo pack("S",80);    //如果格式S后面没有数据或者具体的数字或者*,则表示后面只能有一个参数,如果后面有具体的数字,则表示后面的参数为这么多个

//P
echo pack("C3",80,72,80);  //表示后面只能有3个参数
//PHP
$str = null;
    for($i=0;$i<20;$i++) {
        $str .= pack("S",mt_rand(80,128));
    }
    echo $str;

//m{QXim^wslts_W[kvrSU
echo pack("C*",80,72,80);  //表示后面只能有3个参数
//PHP

 

你可能感兴趣的:(PHP杂项函数之pack($format,arg+))