小编t.b*_*rdo的帖子

Perl:给定一个任意字符串,你如何提取前N位?

给定一个字符串$ old_str,我试图将前N位(而不是字节)提取到$ new_str中.我一直在阅读包文档和perlpacktut,但我绝望地感到困惑.这是我目前的立场:

my $old_str = "9876543210";                                                     
# Extract the first 5 bits
my $new_str = pack("B5", unpack("B*", $old_str));
printf "%#b | %#b\n", $new_str, $old_str;
Run Code Online (Sandbox Code Playgroud)

这会产生:

0b1000 | 0b1001001100101100000001011011101010
Run Code Online (Sandbox Code Playgroud)

但我想要这个:

0b10010 | 0b1001001100101100000001011011101010
Run Code Online (Sandbox Code Playgroud)

perl

5
推荐指数
1
解决办法
880
查看次数

标签 统计

perl ×1