php中pack 与 unpack函数的用法

http://zengrong.net/post/1715.htm

https://my.oschina.net/goal/blog/195749

  • 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填充绝对位置

首先读取文件$file = file_get_contents(‘文件名‘);

然后用unpack(‘C*‘,$file)函数将文件(二进制数据)转化为关联数组。

时间: 2024-08-25 01:50:34

php中pack 与 unpack函数的用法的相关文章

浅谈PHP中pack、unpack的详细用法

转自:https://segmentfault.com/a/1190000008305573 PHP中有两个函数pack和unpack,很多PHPer在实际项目中从来没有使用过,甚至也不知道这两个方法是用来干嘛的.这篇文章来为大家介绍一下它俩到底是用来干啥的. pack string pack ( string $format [, mixed $args [, mixed $... ]] ) 该函数用来将对应的参数($args)打包成二进制字符串. 其中第一个参数$format,有如下选项(可

C++中rand()函数的用法

C++中rand()函数的用法   2011-12-30 11:03:59|  分类: C / C++|举报|字号 订阅 一.C++中不能使用random()函数 random函数不是ANSI C标准,不能在gcc,vc等编译器下编译通过.但在C语言中int random(num)可以这样使用,它返回的是0至num-1的一个随机数. 可改用C++下的rand函数来实现. 1.C++标准函数库提供一随机数生成器rand,返回0-RAND_MAX之间均匀分布的伪随机整数. RAND_MAX必须至少为

C#中FindByValue、FindControl函数的用法详解

一.C#中FindByValue函数的用法:ListItem item = DropDownList1.Items.FindByValue(theme);根据指定的值("theme")获取 DropDownList 中对应的项.二.FindControl的使用方法:Control.FindControl (String):在当前的命名容器中搜索带指定 id 参数的服务器控件.(有点类似javascript中的getElementById(string))简单的例子:<form i

关于python中的operator.itemgetter()函数的用法

1. operator.itemgetter(num)函数 表示对对象的第num维数据进行操作获取. >>>import operator >>>a = [1, 2, 3] >>>b = operator.itemgetter(1) >>>print(b) 返回是: >>>operator.itemgetter(1) 也就是说,返回的并不是一个具体的数字,而是一个函数. 再进行如下操作: >>>pr

python中split()函数的用法

函数:split() Python中有split()和os.path.split()两个函数,具体作用如下:split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list)os.path.split():按照路径将文件名和路径分割开 一.函数说明 1.split()函数语法:str.split(str="",num=string.count(str))[n] 参数说明:str:表示为分隔符,默认为空格,但是不能为空('').若字符串中没有分隔符,则把整个

python中items()和iteritems()函数的用法

items函数,将一个字典以列表的形式返回,因为字典是无序的,所以返回的列表也是无序的. a = {'a':1,'b':3} a.items() 返回a = [('a',1),('b',3)] iteritems()返回一个迭代器 b = a.iteritems() list(b) =[('a',1),('b',3)] for k,v in b: print k,v 返回a 1 b 3

MySQL中TIMESTAMPDIFF和TIMESTAMPADD函数的用法

TIMESTAMPDIFF 语法: TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2). 说明: 返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差.其结果的单位由interval 参数给出.该参数必须是以下值的其中一个: FRAC_SECOND---(表示间隔是毫秒) SECOND---(秒) MINUTE---(分钟) HOUR---(小时) DAY---(天) WEEK---(星期

java中Collections.sort() 排序函数的用法

用Collections.sort方法对list排序有两种方法第一种是list中的对象实现Comparable接口,如下: /*** 根据order对User排序*/public class User implements Comparable<User>{    private String name;    private Integer order;    public String getName() {        return name;    }    public void 

在Oracle PL-SQL中,between and 函数的用法

例子: select * from table_test where creatdate between to_date('2009-11-1 8:47:14','yyyy-mm-dd hh24:mi:ss') and to_date('2009-12-1 8:47:14','yyyy-mm-dd hh24:mi:ss') 推荐使用: select * from table_test where creatdate >= to_date('2009-11-01 8:47:14','yyyy-MM