PHP unpack() 函数

返回上一级

PHP unpack() 函数从二进制字符串对数据进行解包

函数原型

unpack(format,data)

参数列表

参数 描述
format 必需。规定在解包数据时所使用的格式
data 必需。规定被解包的二进制数据

format 格式符列表

格式符 说明
a NUL 填充的字符串
A SPACE 填充的字符串
h 十六进制字符串,低位在前
H 十六进制字符串,高位在前
c signed char
C unsigned char
s signed short(总是16位, machine 字节顺序)
S unsigned short(总是16位, machine 字节顺序)
n unsigned short(总是16位, big endian 字节顺序)
v unsigned short(总是16位, little endian 字节顺序)
i signed integer(取决于 machine 的大小和字节顺序)
I unsigned integer(取决于 machine 的大小和字节顺序)
l signed long(总是32位, machine 字节顺序)
L unsigned long(总是32位, machine 字节顺序)
N unsigned long(总是32位, big endian 字节顺序)
V unsigned long(总是32位, little endian 字节顺序)
f float(取决于 machine 的大小和表示)
d double(取决于 machine 的大小和表示)
x NUL 字节
X 备份一个字节
Z NUL 填充的字符串
@ NUL 填充绝对位置

返回值

如果成功则返回数组,如果失败则返回 FALSE

范例

对二进制字符串对数据进行解包

<?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));

运行范例 »

更新日志

PHP 日志 更新说明
PHP 5.5.0 为 Perl 兼容进行了下列更改:
"a" 代码保留尾随 NULL 字节
"A" 代码删除所有尾随 ASCII 空白
新增 "Z" 代码用于 NUL 填充的字符串,并移除尾随 NULL 字节

返回上一级

PHP 5 函数参考手册

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2018 简单教程 twle.cn All Rights Reserved.