繁体   English   中英

PHP等同于Python的结构

[英]PHP equivalent to Python's struct

我试图将以下Python代码移植到PHP,但找不到与Python的struct等效的PHP。 (并且我特别需要一个等效于struct.calcsize() )是否可以使用任何PHP等效项?

import struct
attr_fmt = ">iii4x"
attr_size = struct.calcsize(self.attr_fmt)

编辑:

对于那些不熟悉Python但使用PHP的用户,请从struct手册页面

此模块在Python值和以Python字符串表示的C结构之间执行转换。 除其他来源外,它可用于处理存储在文件中或来自网络连接的二进制数据。 它使用格式字符串作为C结构布局的紧凑描述以及与Python值之间的预期转换。

我不熟悉Python的结构,但看起来有点像PHP的packunpack 我不知道有任何直接方法来确定尺寸。

我相信这是一个与您相同的示例:

$fmt = 'N3x4'; // three 32-bit big endian integers followed by 4 bytes of padding
$s = pack($fmt, 0, 0, 0); // pack the data into a string
$size = strlen($s);       // find the length of the data

在此示例中,我选择了三个虚拟0用作三个整数的参数。

要解压缩数据,它看起来像:

$fmt = 'N3/x4';
$a = unpack($fmt, $s);
echo $a[0];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM