gpt4 book ai didi

perl - 在 Perl 中将字节转换为位序列(二进制)

转载 作者:行者123 更新时间:2023-12-02 19:35:20 25 4
gpt4 key购买 nike

过去几个小时我一直在思考这个问题;这里有很多类似的问题,但没有什么完全相同,而且我见过的技术似乎都不起作用。

我有一个从程序输入生成的字节(整数)序列 - 每个字节代表 BMP 图像中像素的红色、绿色或蓝色值。我本质上需要提取每个字节的比特流表示;即该字节的二进制序列。

我一直在使用 pack()unpack() 的许多不同变体,但我没有得到正确的结果。

例如:

sub convertToBinary {
my $str = unpack("B32", pack("N", shift));
return $str;
}

我也尝试过:

my $str = unpack("b8", shift);,

my $str = unpack("B8", shift);,

my $str = unpack("b*", shift);

以及许多其他变体;他们似乎都没有工作。我不觉得提取一个字节的位模式应该太难了..只是八个“1”或“0”,对吧?

我在这里缺少什么?

最佳答案

我认为您正在寻找 sprintf

sub convertToBinary {
return sprintf '%08b', shift;
}

关于perl - 在 Perl 中将字节转换为位序列(二进制),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11696774/

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