私はこの数時間、この質問について頭を悩ませてきました。ここには似たような質問がたくさんありますが、まったく同じものはなく、私が見たテクニックはどれも機能していないようです.
プログラムの入力から生成した一連のバイト (整数) があります。それぞれが 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' が 8 つだけですよね?
ここで何が欠けていますか?