0x1234567890abcdef とてな感じのバイナリデータがあったとします。*1 これを適正に振り分ける場合、どうしてますか? これまでの私だと、文字列のまんま val_a = "1234567890abcdef"[10].chr とやるなり、unpackで配列化して val_a = "ab".unpack("CC")[0].chr とやるなりしてました。 ただ、これだと32bitの時の扱いが面倒ですよね。 その上、可変長の場合は専用のロジックを組む必要がある。 しかも途中でセンサの仕様が変わって入り組んだメソッドチェインを解す過程で発狂しそうになったりした事も……。 そんな貴方や私の悩みを解決してくれるのが、今回紹介するGem「BinData」です。 導入 $ gem install bindata 使い方 require 'bindata' class Sample < BinD