文档章节

Php pack && unpack

刘纪君
 刘纪君
发布于 2014/11/11 15:23
字数 202
阅读 39
收藏 0
点赞 0
评论 0

PHP的pack和unpack主要用于把数据进行二进制化和反二进制化,一般用于网络传输或者存储数据时用,能一定程度降低数据长度。pack函数的用法在PHP文档中已说明清楚了,针对具体的format格式不做说明,下面举例几种用法。

pack('L',1);//把数字1转换为无符号long型,占4字节
pack('c','h');//转换为二进制字符
pack('c4L','hupu',1);//转换为4个字符和1个long型
pack('c*','2'); //转换n个字符

通过上面代码在format后面可以跟数字表示转换几个,可以跟*表示之后的所有。

unpack函数的用法:

$data = pack('c3L2','xyz',356,123);
unpack('c3str/Lnum1/Lnum2',$data); //得到array('str'=>'xyz','num1'=>356,'num2'=>123);

© 著作权归作者所有

共有 人打赏支持
刘纪君
粉丝 29
博文 78
码字总数 59637
作品 0
郑州
高级程序员
PHP: pack/unpack补遗

pack/unpack的介绍和使用加上这篇就第三篇了。确实知识点比较多,这篇算是收尾之作吧。仔细去文档上看pack/unpack的格式化字符说明,就会发现s, S, i, I, l, L, f, d都没有对应的大端序和小端...

陈亦 ⋅ 2014/02/23 ⋅ 11

php pack 和 unpack 函数

输出: PHP php 用unpack 函数后得到的就是那3个数作为键值的数组,那怎么把这个数组当作pack函数的三个参数传进去 我用了eval 函数,但是结果是false,厉害的帮忙解决下,不胜感激,像这种参...

李佳顺 ⋅ 2014/01/08 ⋅ 4

PHP: chr和pack、unpack那些事

PHP是一门很灵活的语言。正因为它太灵活了,甚至有些怪异,所以大家对它的评价褒贬不一。其实我想说的是,任何一门语言都有它自身的哲学,有它存在的出发点。PHP为Web而生,它以快速上手、快...

陈亦 ⋅ 2014/02/23 ⋅ 31

msgpack 真的比 protobuf buffers 快 4 倍吗?

hprose serialize Runtime:0.2334s json encode Runtime:15.2883s serialize Runtime:0.7090s msgpack_pack Runtime:0.6883s hprose unserialize Runtime:0.5439s json decode Runtime:24.29......

andot ⋅ 2015/04/18 ⋅ 4

JAVA如何实现PHP的pack('NC',1,1)

@我是菜菜 你好,想跟你请教个问题: JAVA如何实现PHP的pack('NC') UNPACK('NC')

km3945 ⋅ 2016/12/30 ⋅ 2

用socket方式与服务器通信,php如何处理网络字节顺序

最近搞一个用socket与服务端通信的东西,之前完全没接触过,大概意思我说一下,希望有人能帮帮忙。 数据传输格式:报文头+报文体 服务端要求报文头中int类型字段用网络字节顺序,我大概查了下...

dongyao ⋅ 2013/12/01 ⋅ 5

MessagePack 序列化格式

essagePack 是一种有效的二进制序列化格式。与JSON一样可以在多语言中转换数据,但对比JSON,速度更快,转换后数据更小。 安装 1.下载msgpack,下载地址:点击下载 2.编译安装 [plain] view...

蜗牛奔跑 ⋅ 2016/03/07 ⋅ 0

Linux安装jdk出现java/lang/NoClassDefFoundError

java -version Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/Object 检查lib目录下的tools是否是tools.pack格式(即lib/tools.pack)和 jre/lib目......

squanchao ⋅ 2016/12/09 ⋅ 0

Perl(格式和字符串处理)

众所周知Perl处理字符串的功能非常强大,Perl(Practical Extraction and Reporting language)处理格式的功能也非常强大。这节我们就开始学些Perl的格式和字符串处理。这些程序以后都可以直...

范堡 ⋅ 2009/01/16 ⋅ 2

PHP数据压缩、加解密(pack, unpack)

网络通信、文件存储中经常需要交换数据,为了减少网络通信流量、文件存储大小以及加密通信规则,经常需要对数据进行双向加解密以保证数据的安全。 PHP中实现此功能主要需要使用的函数主要是p...

昨日今日明日 ⋅ 2013/05/14 ⋅ 1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Centos7重置Mysql 8.0.1 root 密码

问题产生背景: 安装完 最新版的 mysql8.0.1后忘记了密码,向重置root密码;找了网上好多资料都不尽相同,根据自己的问题总结如下: 第一步:修改配置文件免密码登录mysql vim /etc/my.cnf 1...

豆花饭烧土豆 ⋅ 今天 ⋅ 0

熊掌号收录比例对于网站原创数据排名的影响[图]

从去年下半年开始,我在写博客了,因为我觉得业余写写博客也还是很不错的,但是从2017年下半年开始,百度已经推出了原创保护功能和熊掌号平台,为此,我也提交了不少以前的老数据,而这些历史...

原创小博客 ⋅ 今天 ⋅ 0

LVM讲解、磁盘故障小案例

LVM LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。 1.新建分区,更改类型为8e 即L...

蛋黄Yolks ⋅ 今天 ⋅ 0

Hadoop Yarn调度器的选择和使用

一、引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。 上图是Yarn的基本架构,其中ResourceManager是整个架构的核心组件,它负...

p柯西 ⋅ 今天 ⋅ 0

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 今天 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

推荐:并发情况下:Java HashMap 形成死循环的原因

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历...

码代码的小司机 ⋅ 昨天 ⋅ 2

聊聊spring cloud gateway的RetryGatewayFilter

序 本文主要研究一下spring cloud gateway的RetryGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/G......

go4it ⋅ 昨天 ⋅ 0

创建新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。 如何创建新用户 在MySQL...

问题终结者 ⋅ 昨天 ⋅ 0

android -------- 颜色的半透明效果配置

最近有朋友问我 Android 背景颜色的半透明效果配置,我网上看资料,总结了一下, 开发中也是常常遇到的,所以来写篇博客 常用的颜色值格式有: RGB ARGB RRGGBB AARRGGBB 这4种 透明度 透明度...

切切歆语 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部