binary-file: read/write binary file
See example directory's sample code.
runghc -XQuasiQuotes -XTypeFamilies -XFlexibleInstances exam.hs some.bmp
exam.hs:
import File.Binary import File.Binary.Instances import File.Binary.Instances.LittleEndian import System.Environment import Data.ByteString.Lazy as BSL main = do [inf] <- getArgs cnt <- BS.readFile inf let Right (bmp, rest) = fromBinary () cnt :: (Bitmap, String) print bmp instance Field (Int, Int, Int) where type FieldArgument (Int, Int, Int) = () fromBinary _ s = let (b, rest) = toType 1 s (g, rest') = toType 1 rest (r, rest'') = toType 1 rest' in ((b, g, r), snd $ getBytes 1 1 rest'') toBinary _ (b, g, r) = concatBinary [ fromType 1 b, fromType 1 g, fromType 1 r, makeBinary $ BSL.singleton 0] [binary| Bitmap deriving Show 2: "BM" 4: file_size 2: 0 2: 0 4: offset 4: 40 4: width 4: height 2: 1 2: bits_per_pixel 4: compression 4: image_size 4: resolutionH 4: resolutionV 4: color_num 4: important_color_num ((), Just color_num)[OPENBRACKET](Int, Int, Int)[CLOSEBRACKET]: colors ((), image_size)[OPENBRACKET]String[CLOSEBRACKET]: image |]
Modules
- File
- File.Binary
- File.Binary.Instances
- File.Binary.Instances.BigEndian
- File.Binary.Instances.LittleEndian
- File.Binary.Instances
- File.Binary
Downloads
- binary-file-0.15.13.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.2, 0.3, 0.4, 0.6, 0.12.6, 0.12.8, 0.13.1, 0.13.2, 0.14.1, 0.14.3, 0.15.0, 0.15.9, 0.15.10, 0.15.11, 0.15.13, 0.15.16, 0.15.18, 0.15.22, 0.15.24, 0.15.25 |
---|---|
Dependencies | base (>3 && <5), bytestring, monads-tf, peggy, template-haskell [details] |
License | BSD-3-Clause |
Author | Yoshikuni Jujo <PAF01143@nifty.ne.jp> |
Maintainer | Yoshikuni Jujo <PAF01143@nifty.ne.jp> |
Category | File |
Home page | https://skami.iocikun.jp/haskell/packages/binary-file |
Source repo | head: git clone git://github.com/YoshikuniJujo/binary-file.git this: git clone git://github.com/YoshikuniJujo/binary-file.git(tag 0.15.13) |
Uploaded | by YoshikuniJujo at 2013-04-23T02:15:40Z |
Distributions | |
Reverse Dependencies | 2 direct, 0 indirect [details] |
Downloads | 15817 total (62 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs not available [build log] All reported builds failed as of 2016-12-21 [all 8 reports] |