PHP 把数据装入一个二进制字符串pack和unpack函数详解

PHP中pack、unpack的详细用法 ASCII码对应表 pack、unpack的详细用法参考 参考一 参考二 阅读详情

pack

压缩资料到位字符串之中。(理解为将指定类型(16进制或其它)的数转换为字符串,看应用一)

语法: string pack(string format, mixed [args]...);

返回值: 字符串

函数种类: 资料处理

内容说明

本函数用来将资料压缩打包到位的字符串之中。本函数和 Perl 的同名函数功能用法完全相同。参数 format 为压缩的格式,见下表

 

应用一:
输入16进制或者2进制流。
<?php
$src="3B06";
$binvar = pack('H*',$src);
echo $binvar;
?>

看看这个程序,相当于下面的程序


echo chr(0x3B).chr(0x06);

在数据量很小的时候后面的做法,更为简便。但是大量数据的时候,前一种做法则更为实际工整些,代码量也很少。

a 将字符串空白以 NULL 字符填满 A 将字符串空白以 SPACE 字符 (空格) 填满 h 十六进位字符串,低位在前 H 十六进位字符串,高位在前 c 有号字符 C 无号字符 s 有号短整数 (十六位,依计算机的位顺序) S 无号短整数 (十六位,依计算机的位顺序) n 无号短整数 (十六位, 高位在后的顺序) v 无号短整数 (十六位, 低位在后的顺序) i 有号整数 (依计算机的顺序及范围) I 无号整数 (依计算机的顺序及范围) l 有号长整数 (卅二位,依计算机的位顺序) L 无号长整数 (卅二位,依计算机的位顺序) N 无号短整数 (卅二位, 高位在后的顺序) V 无号短整数 (卅二位, 低位在后的顺序) f 单精确浮点数 (依计算机的范围) d 倍精确浮点数 (依计算机的范围) x 空位 X 倒回一位 @ 填入 NULL 字符到绝对位置

例子 1

<?php

echo pack("C3",80,72,80);

?>

输出:

PHP

例子 2

<?php

echo pack("C*",80,72,80);

?>

输出:

PHP

unpack

解压缩位字符串资料。

语法: string pack(string format, mixed [args]...);

返回值: 数组

函数种类: 资料处理

内容说明

本函数用来将位的字符串的资料解压缩。本函数和 Perl 的同名函数功能用法完全相同。参数 format 为压缩的格式,参见 pack 的格式表。

例子 1

<?php

$data = "PHP";

print_r(unpack("C*",$data));

?>

输出:

Array

(

[1] => 80

[2] => 72

[3] => 80

)

例子 2

<?php

$data = "PHP";

print_r(unpack("C*myint",$data));

?>

输出:

Array

(

[myint1] => 80

[myint2] => 72

[myint3] => 80

)

例子 3

<?php

$bin = pack("c2n2",0x1234,0x5678,65,66);

print_r(unpack("c2chars/n2int",$bin));

?>

输出:

Array

(

[chars1] => 52

[chars2] => 120

[int1] => 65

[int2] => 66

)

玩了玩 PHP 的 pack/unpack !还是蛮简单的

2007-07-04 16:34

这几天要做双向的加解密,因为加密后的结果都是二进制的,不得不了解一下它了

小try了一把pack/unpack,基本用法还是蛮简单的,下面的例子基本上是给了个做数据库的原型(嘻嘻,不能用PHP5了,只好用PHP4的语法写)

<?php

/**

* 这是一个测试pack/unpack操作的东西

* @author 张心灵

* Email: zhangsilly@gmail.com

* 

* 一下文件存储如下几个字段

* 姓名: 长度 8 字节

* 年龄: unsigned int

* Email: 长度 30 字节

*/

class Person_Data

{

     /**

      * 数据库文件路径

      *

      * @var string

      */

     var $_database = './wps.db';

     /**

      * 打开一个数据库文件

      *

      * @param string $file     数据库文件名

      */

     function openDb($file = './wps.db')

     {

         $this->_database = $file;

         $this->_database = fopen($this->_database, 'ab+');

     }

     /**

      * 向数据库中写入一条记录

      *

      * @param array $data    PHP4真的丑死了

      * @return void

      */

     function writeRecord($data)

     {

         $name = pack('a8', $data['name']);

         $age = pack('S', $data['age']);

         $email = pack('a30', $data['email']);

         fwrite($this->_database, $name . $age . $email);

     }

     /**

      * 读取一条记录

      *

      * @param int $count optional default to 0   记录id数

      * @return array

      */

     function read($count = 0)

     {

         rewind($this->_database);

         fseek($this->_database, 40 * $count);

         $return = array();

         $return['name'] = unpack('a8', fread($this->_database, 8));

         $return['name'] = $return['name'][1];

         $return['age'] = unpack('S', fread($this->_database, 2));

         $return['age'] = $return['age'][1];

         $return['email'] = unpack('a30', fread($this->_database, 30));

         $return['email'] = $return['email'][1];

         return $return;

     }

}

$me = array(     'name' => '张心灵', 

                 'age'   => 23,

                 'email' => 'zhangsilly@gmail.com');

$data = new Person_Data();

$data->openDb('./wps.db');

//$data->writeRecord($me);

print_r($data->read(1));

以上文件运行了两侧,写入了两行记录,最后我读取第二行记录(索引自然从 1 开始)

运行一切正常:

Array

(

     [name] => 张心灵

     [age] => 23

     [email] => zhangsilly@gmail.com

)

双就一个字!

翻译:

pack()函数的作用是:将数据压缩成一个二进制字符串。

  • a - NUL-padded string

    a - NUL- 字符串填满[padded string]

  • A - SPACE-padded string

    A - SPACE- 字符串填满[padded string]

  • h - Hex string, low nibble first

    h – 十六进制字符串,低“四位元”[low nibble first]

  • H - Hex string, high nibble first

    H - 十六进制字符串,高“四位元”[high nibble first]

  • c - signed char

    c – 带有符号的字符

  • C - unsigned char

    C – 不带有符号的字符

  • s - signed short (always 16 bit, machine byte order)

    s – 带有符号的短模式[short](通常是16位,按机器字节顺序)

  • S - unsigned short (always 16 bit, machine byte order)

    S – 不带有符号的短模式[short](通常是16位,按机器字节排序)

  • n - unsigned short (always 16 bit, big endian byte order)

    n -不带有符号的短模式[short](通常是16位,按大endian字节排序)

  • v - unsigned short (always 16 bit, little endian byte order)

    v -不带有符号的短模式[short](通常是16位,按小endian字节排序)

  • i - signed integer (machine dependent size and byte order)

    i – 带有符号的整数(由大小和字节顺序决定)

  • I - unsigned integer (machine dependent size and byte order)

    I – 不带有符号的整数(由大小和字节顺序决定)

  • l - signed long (always 32 bit, machine byte order)

    l– 带有符号的长模式[long](通常是32位,按机器字节顺序)

  • L - unsigned long (always 32 bit, machine byte order)

    L – 不带有符号的长模式[long](通常是32位,按机器字节顺序)

  • N - unsigned long (always 32 bit, big endian byte order)

    N – 不带有符号的长模式[long](通常是32位,按大edian字节顺序)

  • V - unsigned long (always 32 bit, little endian byte order)

    V– 不带有符号的长模式[long](通常是32位,按小edian字节顺序)

  • f - float (machine dependent size and representation)

    f –浮点(由大小和字节顺序决定)

  • d - double (machine dependent size and representation)

    d – 双精度(由大小和字节顺序决定)

  • x - NUL byte

    x – 空字节[NUL byte]

  • X - Back up one byte

    X- 后面一个字节[Back up one byte]

  • @ - NUL-fill to absolute position

    @ - NUL- 添加到一个绝对位置[absolute position]

php里的pack及unpack--转

2009-03-15 22:11

用了很久php了却很少有机会用php进行一些二进制操作。 最近用php写一个socket客户端连接一个用C++语言开发的游戏服务端。 服务器端开发人员使用了二进制的形式来定义协议的格式。协议格式如下:

   包头(2bytes)+加密(1byte)+命令码(2bytes)+帧内容

1.包头的内容是记录帧内容的长度;

2. 加密:0表示不加密,1表示加密;

3. 命令码为服务端命令识别符号;

    一开始不了解php原来有pack可以来组装二进制包, 走了弯路,让服务端开发人员用C语言帮忙开发了的几个内存操作函数,按照协议规则返回二进制包,然后我将这几个方法编译成一组扩展函数供php使用。

   

    话归正题,本文是介绍如何使用pack和unpack这两个方法的。php官方手册举例太少,不能很容易理解,特别是那些格式化参数的使用。

转摘的参数中文说明:

pack/unpack 的摸板字符字符 含义

a 一个填充空的字节串

A 一个填充空格的字节串

b 一个位串,在每个字节里位的顺序都是升序

B 一个位串,在每个字节里位的顺序都是降序

c 一个有符号 char(8位整数)值

C 一个无符号 char(8位整数)值;关于 Unicode 参阅 U

d 本机格式的双精度浮点数

f 本机格式的单精度浮点数

h 一个十六进制串,低四位在前

H 一个十六进制串,高四位在前

i 一个有符号整数值,本机格式

I 一个无符号整数值,本机格式

l 一个有符号长整形,总是 32 位

L 一个无符号长整形,总是 32 位

n 一个 16位短整形,“网络”字节序(大头在前)

N 一个 32 位短整形,“网络”字节序(大头在前)

p 一个指向空结尾的字串的指针

P 一个指向定长字串的指针

q 一个有符号四倍(64位整数)值

Q 一个无符号四倍(64位整数)值

s 一个有符号短整数值,总是 16 位

S 一个无符号短整数值,总是 16 位,字节序跟机器芯片有关

u 一个无编码的字串

U 一个 Unicode 字符数字

v 一个“VAX”字节序(小头在前)的 16 位短整数

V 一个“VAX”字节序(小头在前)的 32 位短整数

w 一个 BER 压缩的整数

x 一个空字节(向前忽略一个字节)

X 备份一个字节

Z 一个空结束的(和空填充的)字节串

@ 用空字节填充绝对位置

string pack ( string $format [, mixed $args [, mixed $...]] )

一些规则:

1.每个字母后面都可以跟着一个数字,表示 count(计数),如果 count 是一个 * 表示剩下的所有东西。

2.如果你提供的参数比 $format 要求的少,pack 假设缺的都是空值。如果你提供的参数比 $format 要求的多,那么多余的参数被忽略。

下面还是用例子来说明用法会容易理解一点:

关于Pack:

下面的第一部分把数字值包装成字节:

$out = pack("CCCC", 65, 66, 67, 68);      # $out 等于"ABCD"

$out = pack("C4", 65, 66, 67, 68);         # 一样的东西

下面的对 Unicode 的循环字母做同样的事情:

$foo = pack("U4", 0x24b6, 0x24b7, 0x24b8, 0x24b9);

下面的做类似的事情,增加了一些空:

$out = pack("CCxxCC", 65, 66, 67, 68);      # $out 等于 "AB\0\0CD"

打包你的短整数并不意味着你就可移植了:

$out = pack("s2", 1, 2);        

# 在小头在前的机器上是 "\1\0\2\0"

# 在大头在前的机器上是 "\0\1\0\2"

在二进制和十六进制包装上,count 指的是位或者半字节的数量,而不是生成的字节数量:

$out = pack("B32", "...");

    $out = pack("H8", "5065726c");         # 都生成“Perl”

a 域里的长度只应用于一个字串:

$out = pack("a4", "abcd", "x", "y", "z");      # "abcd"

要绕开这个限制,使用多倍声明:

$out = pack("aaaa",    "abcd", "x", "y", "z");   # "axyz"

   $out = pack("a" x 4,   "abcd", "x", "y", "z");   # "axyz"

a 格式做空填充:

$out = pack("a14", "abcdefg");         # " abcdefg\0\0\0\0\0\0"

关于unpack:

array unpack ( string $format, string $data )

$data = "010000020007";

unpack("Sint1/Cchar1/Sint2/Cchar2",$data);

## array('int1'=&gt;1, 'char1'=&gt;'0','int2'=&gt;2,'char2'=&gt;7);

      最后本文开头讲到的协议使用pack/unpack 举例程序代码为 :

$lastact   = pack('SCSa32a32',0x0040, 0x00, 0x0006, $username, $passwd );

unpack('Sint1/Cchar1/Sint2/Cchar2/',$lastmessage);

 

 

实验十一 ——————二层交换基础 实验内容实验网络拓扑图如上所示SW1以及SW2都创建VLAN10和VLAN20,按照上图所示,将接口添加到特定的VLAN;测试PC之间的连通性,要求相同VLAN内的PC能够相互通信要求设置两台交换机名称以及进行特权模式的密码,并允许通过Telnet方式管理交换机实验目的了解二层交换机工作原理掌握交换机基本配置命令理解VLAN的概念,掌握VLAN的配置理解trunk的概念,掌握trunk的配置实验步... 阅读详情

相关推荐

别再手动转格式了!用Java+LibreOffice命令行实现Word批量转PDF(附Docker部署避坑指南)

本文详细介绍了如何利用Java和LibreOffice命令行实现企业级Word批量转PDF的自动化解决方案,包括多线程优化、Docker化部署及常见问题排查。通过代码示例和实战经验,帮助开发者高效处理文档转换需求,提升工作效率并避免常见陷阱。

552

PHP的pack/unpack

直接参照官网。

mijichui2153的博客 2021

深交所 vs 上交所:Level-2实时数据推送规则详解与策略适配指南

本文深度解析沪深Level-2实时数据推送规则的关键差异,包括逐笔成交、逐笔委托和10档行情接口的处理逻辑。针对高频交易策略,详细对比上交所与深交所在数据推送机制、时间戳处理及委托队列解析等方面的差异,并提供具体的策略适配方案和性能优化建议,帮助量化投资者提升跨市场交易稳定性。

weixin_27310417的博客 1165

pack php 详解_函数pack的使用详解

[导读]pack函数把数据装入一个二进制字符串。php pack() 函数定义和用法pack() 函数把数据装入一个二进制字符串。语法pack(format,args+)参数描述format必需。规定在包装数据时所使用的格式。args+可选。规定被包装的一个或多个参数。format 参数的可能值:a - nul-padded stringa - space-padded stringh - he...

weixin_33585152的博客 1248

Ubuntu22.04如何安装cuDNN8.9.7

本文详细介绍了在Ubuntu 22.04系统上为CUDA 12.2安装适配cuDNN 8.9.7的完整流程,特别针对RTX A6000显卡。主要内容包括:1)选择与CUDA 12.2兼容的cuDNN版本;2)使用deb包方式的安装步骤(添加仓库、导入密钥、安装组件);3)通过MNIST示例验证安装;4)版本锁定、卸载旧版等补充说明;5)性能测试方法。文中强调了版本匹配的重要性,并提供了多卡配置建议,为搭建深度学习开发环境提供完整指导。

2501_93651177的博客 1845

华为OD面试手撕真题目录

2026最新华为OD面试手撕真题 , 提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解.

qq_45776114的博客 1万+

PHP:pack、unpack用法大全

本文通过大量具有代表性和对比性的示例,来详细说明PHP中pack、unpack函数的用法。 pack(string $format, mixed ...$values): string unpack(string $format, string $string, int $offset = 0): array|false format字符串由格式字符组成,格式字符后面可以跟一个可选的重复参数。重复参数可以是一个整数(指定消耗多少个数据参数)或者*值(消耗到输入数据的末尾)。 对于 a, A, h, H

feiniaoflyer的专栏 1582

断层错动和近断层地震动联合作用下软岩隧洞衬砌损伤分析

摘要 本文提出了一种基于Python的软岩隧洞衬砌损伤分析系统,重点研究断层错动和近断层地震动的联合作用效应。系统采用有限元方法建立隧洞-围岩体系模型,通过非线性动力分析评估衬砌结构损伤。研究内容包括:1)建立考虑应变软化的软岩本构模型;2)基于位错理论模拟断层错动过程;3)合成具有速度脉冲效应的近断层地震动;4)开发完整的动力响应分析流程。结果表明,所提出的方法能有效评估软岩隧洞在复杂地质条件下的抗震性能,为工程设计提供理论依据。 关键词:软岩隧洞、断层错动、近断层地震动、损伤分析、Python、有限元法

max500600的博客 842

pack php 详解_php - pack() 打包函数的理解

pack — 将数据打包成二进制字符串总是无法把这个函数的用法跟它的函数说明联系起来,我都有点怀疑是不是描述错了。首先要了解二进制字符串,才能比较好理解这个函数:二进制字符串字面上理解『二进制字符串』应该是像 01010101这样的东西,我以前一直也是这样理解的,直到遇到了 pack()函数,让我有点怀疑人生。我们其实是没办法直接看到二进制码的,我们在屏幕上看到的所有,其实都是二进制码的表现形式,...

weixin_34916566的博客 1248

基于TKVA与深度学习的量子点微型光谱仪光谱重建改进算法研究

本文提出了一种融合深度学习的改进TKVA算法(TKVA-DL),用于提升量子点微型光谱仪的光谱重建精度。该方法创新性地结合深度先验网络与注意力机制,通过自适应学习光谱隐式先验替代传统固定正则化项,并动态加权探测器响应通道。实验表明,所提方法在仿真和实测数据上均显著优于传统TKVA及主流深度学习算法,RMSE降低35%,PSNR提升4.2 dB,同时保持物理可解释性。完整MATLAB实现验证了方法的有效性与可复现性,为微型光谱仪的高精度重建提供了新思路。 关键词:量子点微型光谱仪;光谱重建;Tikhonov正

AI的内部世界的博客 83

IEC 60747-8 是由国际电工委员会(IEC)制定的标准,标题为《半导体器件 - 分立器件 - 第8部分:场效应晶体管》

IEC 60747-8 是由国际电工委员会(IEC)制定的标准,标题为《半导体器件 - 分立器件 - 第8部分:场效应晶体管》(Semiconductor devices - Discrete devices - Part 8: Field-effect transistors)。该标准详细规定了场效应晶体管(FETs)的测试方法,涵盖静态和动态特性测试,适用于多种类型的FET,包括结型场效应晶体管(JFETs)、绝缘栅场效应晶体管(MOSFETs,增强型和耗尽型)等。3. 标准其他部分(简要概述)

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 574

PHP - pack/unpack「字符串/二进制字符串」- 学习/实践

本文介绍了PHP中的pack和unpack函数,它们用于处理二进制数据与字符串之间的转换。pack函数按照指定格式将数据打包为二进制字符串,支持多种数据类型(如字符、整型、浮点数)和字节序控制;unpack则反向解析二进制数据为数组。这些函数在文件处理、网络通信和数据序列化中非常有用。文章详细列举了常用格式字符,并提供了基本使用示例,同时提醒注意跨平台字节序、数据对齐和安全性问题。通过合理使用这两个函数,可以高效处理复杂二进制数据场景。

"代码"的日常搬运 1175

华为OD机试 - TLV格式(Python/JS/C/C++ 2025 C卷 100分)

两端通过TLV格式的报文来通信,现在收到对端的一个TLV格式的消息包,要求生成匹配后的(tag,length,valueOffset)列表。和需要匹配的n个tag对应的n行匹配结果,每一行由长度和偏移量组成。第二行:需要匹配的tag数量n(0 < n < 1000)后面N行:需要匹配n个tag值(十进制表示),递增排列。标签10(0A)存在,长度3,valueOffset=2。标签15(0F)长度4,valueOffset=2。标签14(0E)长度2,valueOffset=8。

学Java,找哪吒 2040

Python中struct.pack()和struct.unpack()用法详细说明

python中的struct主要是用来处理C结构数据的,读入时先转换为Python的字符串类型,然后再转换为Python的结构化类型,比如元组(tuple)啥的~。一般输入的渠道来源于文件或者网络的二进制流。1.struct.pack()和struct.unpack()在转化过程中,主要用到了一个格式化字符串(format strings),用来规定转化的方法和格式。下面来谈谈主要的方法:1.1 ...

把握自己。 27万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

PHP处理二进制数据:pack/unpack函数详解与二进制协议解析实战

pack和unpack是PHP处理二进制数据的强大工具,能够帮助我们轻松地将数据打包成二进制字符串,或者将二进制字符串解包成数据。通过掌握这两个函数,我们可以更好地进行底层数据处理、网络编程以及解析二进制协议。掌握pack和unpack,能更好地处理二进制数据,深入理解底层数据处理和网络编程。

weixin_41455464的博客 764

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

PHP中的pack和unpack函数

文章内容 PHP有两个重要的冷门函数:pack和unpack。在网络编程,读写图像文件等场景,这两个函数几乎必不可少。鉴于文件读写/网络编程,或者说字节流处理的重要性,掌握这两个函数是迈向高级PHP编程的基础。 本文先介绍字节和字符的区别,说明两个函数存在的必要性和重要性。然后介绍基本用法和使用场景,让读者对其有大体了解,为实际使用中奠定基础。 字节和字符 PHP的优势是简单易用,熟练运用 字符串...

gt9000的博客 1583

PHP: 深入pack/unpack

摘要 PHP作为一门为web而生的服务器端开发语言,被越来越多的公司所采用。其中不乏大公司,如腾迅、盛大、淘米、新浪等。在对性能要求比较高的项目中,PHP也逐渐演变成一门前端语言,用于访问后端接口。或者不同项目之间需要共享数据的时候,通常可以抽取出数据层,通过PHP来访问。 PHP作为一门为web而生的服务器端开发语言,被越来越多的公司所采用。其中不乏大公司,如腾迅、盛大、淘米、新

young_to_boy的博客 2093

php pack方法,PHP pack和unpack函数详解

pack压缩资料到位字符串之中。语法: string pack(string format, mixed [args]...);返回值: 字符串函数种类: 资料处理内容说明本函数用来将资料压缩打包到位的字符串之中。本函数和 Perl 的同名函数功能用法完全相同。参数 format 为压缩的格式,见下表a 将字符串空白以 NULL 字符填满 A 将字符串空白以 SPACE 字符 (空格) 填满 h ...

weixin_39574868的博客 520

PHP pack() 函数 与 unpack() 函数

PHP pack() 函数定义和用法pack() 函数把数据装入一个二进制字符串。语法pack(format,args+)参数描述format必需。规定在包装数据时所使用的格式。args+可选。规定被包装的一个或多个参数。format 参数的可能值:a - NUL-padded stringA - SPACE-padded stringh - Hex string, low nibble firstH - Hex string, high nibble firstc - signed charC - uns

YoungerChen的专栏 2004

php通过pack和unpack函数实现对二进制数据封装及解析,PHP中的pack和unpack函数

PHP有两个重要的冷门函数:pack和unpack。在网络编程,读写图像文件等场景,这两个函数几乎必不可少。鉴于文件读写/网络编程,或者说字节流处理的重要性,掌握这两个函数是迈向高级PHP编程的基础。php本文先介绍字节和字符的区别,说明两个函数存在的必要性和重要性。而后介绍基本用法和使用场景,让读者对其有大致了解,为实际使用中奠基基础。web字节和字符PHP的优点是简单易用,熟练运用 字符串 和...

weixin_30356433的博客 647

php pack 解密,PHP pack和unpack函数详解

pack压缩资料到位字符串之中。语法: string pack(string format, mixed [args]...);返回值: 字符串函数种类: 资料处理内容说明本函数用来将资料压缩打包到位的字符串之中。本函数和 Perl 的同名函数功能用法完全相同。参数 format 为压缩的格式,见下表a 将字符串空白以 NULL 字符填满 A 将字符串空白以 SPACE 字符 (空格) 填满 h ...

weixin_35625397的博客 625

python pack unpack_PHP中pack、unpack的详细用法

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

weixin_39604139的博客 352

php unpack 循环,PHP pack和unpack函数详解

Email: 长度 30 字节*/class Person_Data{/*** 数据库文件路径** @var string*/var $_database = ‘./wps.db’;/*** 打开一个数据库文件** @param string $file 数据库文件名*/function openDb($file = ‘./wps.db’){$this->_database = $f...

weixin_39574928的博客 358

PHP中二进制的编码包pack与解包unpack

1. 为什么使用pack 我们知道,在网络传输过程中,我们的数据都是以二级制的网络报文在进行传输,很多时候,我们多语言之间交互的时候,想在传输的过程中约定传输的头信息,比如常见的http协议 是展示的明文传输的  GET /game HTTP/1.1 Host: sp0.baidu.com Connection: keep-alive 但很多时候,比如我们要做的是游戏的排行榜,而游戏的分数...

不忘初心,才能始终 1861

php中的unpack函数,PHP中的pack和unpack函数的用法详解

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

weixin_30064949的博客 556
上一篇: 基于jQuery的上下无缝滚动代码
下一篇: php pack、unpack、ord 函数使用方法(二进制流接口应用实例)
xmlife
博客等级 码龄19年 89粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值