当前位置: 首页> 函数类别大全> unpack

unpack

从二进制字符串中解压缩数据
名称:unpack
分类:杂项
所属语言:php
一句话介绍:从二进制字符串中解包数据。

定义和用法

unpack() 函数从二进制字符串中解包数据。

实例

例子 1

从二进制字符串中解包数据:

<?php
$data = "PHP";
print_r(unpack("C*",$data));
?>

亲自试一试

例子 2

解包数据:

<?php
$data = "PHP";
print_r(unpack("C*myint",$data));
?>

亲自试一试

例子 3

解包数据:

<?php
$bin = pack("c2n2",0x1234,0x5678,65,66);
print_r(unpack("c2chars/n2int",$bin));
?>

亲自试一试

语法

unpack(format,dataoffset)
参数 描述
format 必需。指定解包数据时使用的格式。
data 可选。指定要解包的二进制数据。
offset 可选。指定从哪里开始解包。默认是 0。

format 参数的可能值:

  • a - NUL-padded 字符串
  • A - SPACE-padded 字符串
  • h - Hex 字符串,低半字节在前
  • H - Hex 字符串,高半字节在前
  • 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-padded 字符串
  • @ - NUL-fill 到绝对位置
同类函数
热门文章