该函数与pack是对应的.语法: string pack(string format, mixed [args]...);
返回值: 数组
函数种类: 资料处理
 
内容说明 
本函数用来将位的字符串的资料解压缩。本函数和 Perl 的同名函数功能用法完全相同。参数 format 为压缩的格式,参见 pack 的格式表。本函数用来将资料压缩打包到位的字符串之中。本函数和 Perl 的同名函数功能用法完全相同。参数 format 为压缩的格式,见下表a 将字符串空白以 NULL 字符填满 
A 将字符串空白以 SPACE 字符 (空格) 填满 
h 十六进位字符串,低位在前 
H 十六进位字符串,高位在前 
c 有号字符 
C 无号字符 
s 有号短整数 (十六位,依计算机的位顺序) 
S 无号短整数 (十六位,依计算机的位顺序) 
n 无号短整数 (十六位, 高位在后的顺序) 
v 无号短整数 (十六位, 低位在后的顺序) 
i 有号整数 (依计算机的顺序及范围) 
I 无号整数 (依计算机的顺序及范围) 
l 有号长整数 (卅二位,依计算机的位顺序) 
L 无号长整数 (卅二位,依计算机的位顺序) 
N 无号短整数 (卅二位, 高位在后的顺序) 
V 无号短整数 (卅二位, 低位在后的顺序) 
f 单精确浮点数 (依计算机的范围) 
d 倍精确浮点数 (依计算机的范围) 
x 空位 
X 倒回一位 
@ 填入 NULL 字符到绝对位置  
 
使用范例 
<?php
print(pack("cccc", 65, 66, 67, 68));
echo "<br>\n";
print(pack("h10", "778899aabb"));
echo "<br>\n";
print(pack("H10", "778899aabb"));
?> 

解决方案 »

  1.   

    我就是看了手册才不明白了,如下:例子 1. unpack() example<?php
    $array = unpack("c2chars/nint", $binarydata);
    ?>  The resulting array will contain the entries "chars1", "chars2" and "int". 我就不明白,结果怎么会是"chars1", "chars2" and "int"?
      

  2.   

    我是要把一个php的程序翻译成c的,手头没有php的环境
    看来是msdn看习惯了,居然没有怀疑这个手册也会有错
      

  3.   

    该函数与pack是对应的.语法: string pack(string format, mixed [args]...);
    返回值: 数组
    函数种类: 资料处理
     
    内容说明 
    本函数用来将位的字符串的资料解压缩。本函数和 Perl 的同名函数功能用法完全相同。参数 format 为压缩的格式,参见 pack 的格式表。本函数用来将资料压缩打包到位的字符串之中。本函数和 Perl 的同名函数功能用法完全相同。参数 format 为压缩的格式,见下表a 将字符串空白以 NULL 字符填满 
    A 将字符串空白以 SPACE 字符 (空格) 填满 
    h 十六进位字符串,低位在前 
    H 十六进位字符串,高位在前 
    c 有号字符 
    C 无号字符 
    s 有号短整数 (十六位,依计算机的位顺序) 
    S 无号短整数 (十六位,依计算机的位顺序) 
    n 无号短整数 (十六位, 高位在后的顺序) 
    v 无号短整数 (十六位, 低位在后的顺序) 
    i 有号整数 (依计算机的顺序及范围) 
    I 无号整数 (依计算机的顺序及范围) 
    l 有号长整数 (卅二位,依计算机的位顺序) 
    L 无号长整数 (卅二位,依计算机的位顺序) 
    N 无号短整数 (卅二位, 高位在后的顺序) 
    V 无号短整数 (卅二位, 低位在后的顺序) 
    f 单精确浮点数 (依计算机的范围) 
    d 倍精确浮点数 (依计算机的范围) 
    x 空位 
    X 倒回一位 
    @ 填入 NULL 字符到绝对位置  
     
    使用范例 
    <?php
    print(pack("cccc", 65, 66, 67, 68));
    echo "<br/>\n";
    print(pack("h10", "778899aabb"));
    echo "<br/>\n";
    print(pack("H10", "778899aabb"));
    ?>