PHP操作二进制字节数据

在PHP开发中大都是操作字符类数据,极为方便,但操作二进制又如何呢,下面代码举例看看。

 

函数:  pack(format,args+)

pack()和unpack()函数的第一个参数表如下

Bash
a:NULL填充的字节串
A:空格填充的字节串
h:十六进制数,低四位字节优先
H:十六进制数,高四位字节优先
c:有符号字符
C:无符号字符
s:有符号短整型(总是16位,机器字节序)
S:无符号短整型(总是16位,机器字节序)
n:无符号短整型(总是16位,大尾字节序)
v:无符号短整型(总是16位,小尾字节序)
I:有符号整型(机器相关大小和字节序)
I:无符号整型(机器相关大小和字节序)
l:有符号长整型(总是32位,机器字节序)
L:无符号长整型(总是32位,机器字节序)
N:无符号长整型(总是32位,大尾字节序)
V:无符号长整型(总是32位,小尾字节序)
f:浮点数(机器相关大小和表示)
d:双精度数(机器相关大小和表示)
x:空字节
X:倒退一个字节
@:用NULL填充绝对位置

 

例1:

PHP
<?php
echo pack("C3",80,72,80);
?>

 结果:

Bash
PHP

 

例2:

PHP
<?php
echo pack("C*",80,72,80);
?>

结果:

Bash
PHP

 

 

参考1:  http://blog.csdn.net/mypcstyle/article/details/37510585

参考2:  http://www.w3school.com.cn/php/func_misc_pack.asp

posted on 2018-12-27 17:28  cn三少<script></script>  阅读(4731)  评论(0编辑  收藏  举报

导航