标签: pack

PHP包中的“机器字节顺序”是什么意思?

我理解小端和大端,但是“机器字节顺序”是什么意思?

php pack

0
推荐指数
1
解决办法
1623
查看次数

在Python中将数据打包成二进制字符串

使用PHP pack()函数,我已将字符串转换为二进制十六进制表示形式:

pack('H*', $SECURE_SECRET)
Run Code Online (Sandbox Code Playgroud)

如何在Python中获得相同的结果?我试过了struct.pack,但结果却不一样.

php python pack

0
推荐指数
1
解决办法
1512
查看次数

将unsigned char字节打包成c中的unsigned int

我有一个赋值,我必须将4个unsigned char中的字节打包成unsigned int.

代码如下:

#include <stdio.h>

int main (){
    //Given this
    unsigned char a = 202; 
    unsigned char b = 254; 
    unsigned char c = 186; 
    unsigned char d = 190; 

    //Did this myself
    unsigned int u = a; 
    u <<=8; 
    u |= b; 
    u <<=8; 
    u |= c
    u <<=8; 
    U |= d; 
}
Run Code Online (Sandbox Code Playgroud)

我知道:

u <<=8; 
Run Code Online (Sandbox Code Playgroud)

将你的位向左移动8.但我对这些线条的作用感到困惑u |= b;

简单地说,我试图更好地理解我所编写的代码将4个unsigned char中的字节打包成unsigned int.我以粗野的方式提出了这个解决方案.我只是试图以不同的方式打包字节,这种方式有效.但我不确定为什么.

先感谢您.

c bits bit-shift pack

0
推荐指数
1
解决办法
5440
查看次数

将Python struct.pack转换为erlang

我试图实现以下python代码并在Erlang中获得相同的结果:

struct.pack('Q', long(20000001))
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

python erlang pack

0
推荐指数
1
解决办法
192
查看次数

Ruby:unpack(“ C”)实际做什么?

从文档中unpack执行:

根据格式字符串对str(可能包含二进制数据)进行解码,并返回每个提取值的数组。

"C"格式手段8-bit unsigned (unsigned char)

但是,这实际上对我输入的字符串做了什么呢?结果是什么意思,如果我必须手动操作,我将如何去做呢?

ruby pack

0
推荐指数
2
解决办法
802
查看次数

C# 将 5 个整数打包成 1 个

我正在尝试使用位移操作将 5 个整数(每个最多 999 个)打包和解压缩为一个唯一的整数:

static UInt64 Combine(uint a, uint b, uint c, uint d, uint e)
    {
        return (a << 48) | (b << 32 ) | (c << 16) | (d << 8) | e;
    }
Run Code Online (Sandbox Code Playgroud)

但是,我无法解压该号码。任何人都可以指导我做错什么吗?谢谢。

c# integer bit pack

0
推荐指数
1
解决办法
164
查看次数

我想知道寻求的效率

我目前正在研究PE结构.我试图使用perl而不是C来解析它.

这不是一件重要的事情,但如果您阅读二进制文件,则必须跳转到某个部分.(例如,阅读e_lfanew)

我想读取0x78点的数据,这是由$ buf读取的,带有0x200数据.

以下是我认为在0x78处提取数据的两种方法.

my ($ dummy, $ data) = unpack ("A0x78 A*", $buf);
or
seek (F, 0x78,0); read F, $buf, 0x200; print ~
Run Code Online (Sandbox Code Playgroud)

我想知道这两种方法中的哪一种比减去虚拟数据和读取数据以及通过搜索读取新数据更有效.

perl unpack pack seek

0
推荐指数
1
解决办法
46
查看次数

将Perl代码转换为PHP

我需要将以下perl函数转换为php:

pack("SSA12AC4L",
     $id,
     $loc,
     $name,
     'ar',
     split(/\./, $get->getIP),
     time+(60*60);
Run Code Online (Sandbox Code Playgroud)

我在PHP中使用以下代码(测试):

echo pack("SSA12AC4L",
     '25',
     '00001',
     '2u7wx6fd94fd',
     'f',
     preg_split('/\./','10.2.1.1', -1, PREG_SPLIT_NO_EMPTY),
     time()+(60*60));
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:警告:pack()[function.pack]:类型C:第8行的D:\ wamp\www\test.php中的参数太少

有什么建议?非常感谢.

php perl pack

-1
推荐指数
1
解决办法
2679
查看次数

标签 统计

pack ×8

php ×3

perl ×2

python ×2

bit ×1

bit-shift ×1

bits ×1

c ×1

c# ×1

erlang ×1

integer ×1

ruby ×1

seek ×1

unpack ×1