2011-01-14 8 views
1

私はPerlを使って、ユーザが提供する整数をバイナリ形式に変換しています。たとえば、ユーザー入力が "3735928559"(16進表現の0xdeadbeef)の場合、プログラムは "deadbeef"の代わりに\xde,\xad\xbe\xefにそれぞれエンコードされた4つの文字を出力する必要があります。32ビット固定長のバイナリで整数を出力する

外部モジュールを使用したくない場合、どうすればいいですか?ありがとうございました。

答えて

7

私は右理解していれば(あなたが4バイトの0xde、0xADの、0xbeをしたい、と0xEFという)は、以下試してください。

print pack("N", $input); 
+0

ありがとうございます、これは私が探している答えです! –

4

あなたの質問は非常に明確ではありませんが、私はあなたが探していると思いますpackの場合:

my $input = '3735928559'; 
print pack('N', $input); 
関連する問題