Skip to content

DanSnow/crystal-binary_parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

crystal-binary_parser

CircleCI GitHub release

Description

A binary parser for crystal.

Requirement

  • crystal >= 0.20.0

Install

Add this to your shard.yml

dependencies:
  binary_parser:
    github: DanSnow/crystal-binary_parser

Feature

  • 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

Usage

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

License

MIT