gpt4 book ai didi

perl - 打包/解包二进制数据数组

转载 作者:行者123 更新时间:2023-12-01 10:46:01 35 4
gpt4 key购买 nike

我有一个我想要的无符号整数数组(32 位) pack 成二进制流:

my @n = (4,8,15,16,23,42);
my $foo = join('', map(pack('I', $_), @n)); # Ugly, isn't?
$foo应该包含这个二进制流(取决于字节序)
0000000 0000 0004 0000 0008 0000 000F 0000 0010
0000010 0000 0017 0000 002A

那我想 unpack 二进制流回到一个数组。

我如何正确使用 Perl 并且如果可能仅使用内置模块?

最佳答案

所有你需要的是

my $packed = pack('I*', @nums);   # unsigned int (varies in size)
my $packed = pack('L*', @nums); # uint32_t

关于perl - 打包/解包二进制数据数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25891552/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com