> ["deadbeef"].pack("H*").unpack("C*").join(".")数値リテラルの 0xdeadbeef をドット区切りの10進数文字列に変換したい場合は、Fixnum#to_s を使って16進数文字列に変換すれば、上で書いた方法でドット区切りの10進数文字列に変換できる。
=> "222.173.190.239"
> [0xdeadbeef.to_s(16)].pack("H*").unpack("C*").join(".")手元の Ruby のバージョンはこちら。もっといい方法あるのかな。に、しても、Array#pack と String#unpack は便利だなー。
=> "222.173.190.239"
$ ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553)
0 件のコメント:
コメントを投稿