メモリアドレスなどの16進数を\xで区切ったバイナリ文字列に変換したいです。
Ruby
10x0804a020 -> "\x08\x04\xa0\x20" #Big Endian 20x0804a020 -> "\x20\xa0\x04\x08" #Little Endian
最初は単純に16進数の文字列を2文字ずつ区切って\xを挟んでjoinすればいいかなと思っていたんですが、
調べてみると、Array#packで変換するものらしいというところまではわかったんです。
ただテンプレート文字がどれなのかわからなくて質問しました。
instance method Array#pack
を見ると
'V*'を指定すれば32bitでLittleEndianで出来ると思ったのですができません。
おしえていただけますか?
Ruby
1p [0x0804a020].pack('V*') 2=>" \xA0\x04\b"

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/22 06:31