入力で受け取ったByteStringを32bitの数値で扱いたい。
いろいろ方法がありそうだけど、自前で作成してみた。Cならばunionで4バイト領域にへunsigned charとunsigned longとしてアクセス可能で便利であるが、型が厳密なHaskellではそうはゆかないようです。
ByteStringをWord8のリストで扱うことは容易なので、ByteString -> Word8を4つ切り取って、Word32へ変更という作戦です。
入力で受け取ったByteStringを32bitの数値で扱いたい。
いろいろ方法がありそうだけど、自前で作成してみた。Cならばunionで4バイト領域にへunsigned charとunsigned longとしてアクセス可能で便利であるが、型が厳密なHaskellではそうはゆかないようです。
ByteStringをWord8のリストで扱うことは容易なので、ByteString -> Word8を4つ切り取って、Word32へ変更という作戦です。