DESCRIPTION

Baikal is a basic Ruby library for constructing, parsing and modifying binary objects (‘blobs’) in a linear manner. Its primary use is facilitating custom bytecode engines.

SYNOPSIS

require 'baikal'

pool = Baikal::Pool.new
pool.go_network_byte_order
pool.emit_wyde(42)
pool.emit_blob "Yellow."

open 'dump', 'wb' do |port|
  port.print pool.bytes
end

require 'baikal/hexdump'

Baikal.hexdump pool.bytes

REQUIREMENTS

Baikal is implemented in plain Ruby.

The String#pack interface Baikal uses appeared in Ruby 1.9.3.

Ruby 2.1 or later is needed to manipulate octabytes in the native byte order. Octabytes in an explicit BigEndian or LittleEndian byte order should work with 1.9.3 or later.

LICENSE

Copyright © 2009-2014 by Andres Soolo <dig@mirky.net>.

Baikal is free software, licensed under the GNU General Public License version 3.