A binary parser for crystal.
- crystal >= 0.20.0
Add this to your shard.yml
dependencies:
binary_parser:
github: DanSnow/crystal-binary_parser
- Parse and write binary file
- Support array (fixed size or variable size)
- Support string (fixed length or valirable length)
- Support nested parser
- Support config which endian to use
- Calculate byte size
require "binary_parser"
class Parser < BinaryParser
uint8 :foo
end
# Load a file
parser = Parser.new
parser.load("<filename>")
# Or from IO
io = File.open("<filename>")
parser = Parser.new
parser.load(io)
# Now you can get your data
puts parser.foo
MIT