私はPerlを使って、ユーザが提供する整数をバイナリ形式に変換しています。たとえば、ユーザー入力が "3735928559"(16進表現の0xdeadbeef)の場合、プログラムは "deadbeef"の代わりに\xde
,\xad
、\xbe
、\xef
にそれぞれエンコードされた4つの文字を出力する必要があります。32ビット固定長のバイナリで整数を出力する
外部モジュールを使用したくない場合、どうすればいいですか?ありがとうございました。
私はPerlを使って、ユーザが提供する整数をバイナリ形式に変換しています。たとえば、ユーザー入力が "3735928559"(16進表現の0xdeadbeef)の場合、プログラムは "deadbeef"の代わりに\xde
,\xad
、\xbe
、\xef
にそれぞれエンコードされた4つの文字を出力する必要があります。32ビット固定長のバイナリで整数を出力する
外部モジュールを使用したくない場合、どうすればいいですか?ありがとうございました。
私は右理解していれば(あなたが4バイトの0xde、0xADの、0xbeをしたい、と0xEFという)は、以下試してください。
print pack("N", $input);
あなたの質問は非常に明確ではありませんが、私はあなたが探していると思いますpackの場合:
my $input = '3735928559';
print pack('N', $input);
ありがとうございます、これは私が探している答えです! –