IT練習ノート

IT関連で調べたこと(実際は嵌ったこと)を書いています。

HaskellのBitの取り扱い

処理の流れ

Binary.BitsからBinaryに直してBinary側でrunする。

パッケージで言えば

Data.Binary.Bits.Put -> Data.Binary.Put -> Data.ByteString.Lazy

Data.Binary.Bits.Get -> Data.Binary.Get -> Data.ByteString.Lazy

動作例

> BL.writeFile "work\\bit01.bin" $ runPut $ runBitPut $ putBool True
  Offset: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F    
00000000: 80   
> let tttt = putBool True >> putBool True >> putBool True >> putBool True
> BL.writeFile "work\\bit01.bin" $ runPut $ runBitPut tttt
>
  Offset: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F    
00000000: F0                                                 p