2010-11-23 10 views
1

IPv6パケットのペイロードである変数を作成しています。複数のデータ形式を連結する必要があり、問題があります。Rubyで人間が読める形式でバイナリデータを作成する

具体的には、私が持っている:

64 - unsigned int 1 byte (prefix length) 
1100 0000 - binary 1 byte (flags) 
86400 - unsigned int, left padded/4 bytes (lifetime) 
14400 - unsigned int, left padded/4 bytes (preferred lifetime) 
0x00 0x00 0x00 0x00 - reserved/unused 4 bytes 

新は、Rubyにする - 何が役立ちます。

+0

あなたは上記の値をASCII形式で受け取っているので、それらをパックする必要がありますか?または、バイナリを表示して、あなたが望む形式で表示している値ですか?十分な情報がありません。 –

+0

また、宿題のように聞こえます。それが私たちに知らせてください。 –

+0

ipv6とパケットタグを追加して、質問をより見やすくしました。 –

答えて

1

あなたはpackをよく知っていますか?それはおそらくあなたのパケットを構築するために必要なものです。

+0

パックに多少馴染みますが、>> [64] .pack( "I") => "@ \ 000 \ 000 \ 000"は1バイト対4が必要なときには本当に動作しません。 – wuntee

関連する問題