2011-07-26 19 views

答えて

1

Ooh..fun:あなたは余分なバイトを追加した自分を気にしなかった場合

file.read(3).unpack("C*").inject { |r, n| r << 8 | n } 
+0

を使用してください。ありがとうございました ! – skiffr

0

あなたはunpackでそれをすべて行うことができますにそれがより良いと認めるなら、それはかなり主観的です。

+0

私は、余分なバイトを追加することで32ビット整数に変換していることが分かります。 – skiffr

+0

@skiffr:はい、手作業ではなく、直接4バイトで解凍する必要があります。 –

2

はシンプルかつ巧妙な両方BINDATA宝石

require 'bindata' 
n = BinData::Uint24be.read(file) 
関連する問題