Dada una cadena $ old_str, estoy tratando de extraer los primeros N bits (no bytes) en $ new_str. He estado leyendo la documentación del paquete y perlpacktut, pero estoy desesperadamente confundido. Aquí es donde actualmente me encuentro:Perl: Dada una cadena arbitraria, ¿cómo extraes los primeros N bits?
my $old_str = "";
# Extract the first 5 bits
my $new_str = pack("B5", unpack("B*", $old_str));
printf "%#b | %#b\n", $new_str, $old_str;
Esto produce:
0b1000 | 0b1001001100101100000001011011101010
Pero yo quiero esto:
0b10010 | 0b1001001100101100000001011011101010
Si sabe cómo meter los bits en una cadena, hágalo y obtenga los cinco primeros utilizando una subcadena. ¿Con qué parte necesitas ayuda? – AmbroseChapel