Module: BinaryExtensions

Included in:
FileData::ExifStream, Helpers::BaseStreamView
Defined in:
lib/file_data/core_extensions/binary_extensions.rb

Overview

Methods for reading values from a binary stream

Instance Method Summary collapse

Instance Method Details

#read_ascii(num_bytes) ⇒ Object



10
11
12
# File 'lib/file_data/core_extensions/binary_extensions.rb', line 10

def read_ascii(num_bytes)
  each_byte.take(num_bytes).map(&:chr).join
end

#read_value(num_bytes) ⇒ Object



3
4
5
6
7
8
# File 'lib/file_data/core_extensions/binary_extensions.rb', line 3

def read_value(num_bytes)
  bytes = each_byte.take(num_bytes)
  bytes.reverse! if @is_little_endian

  bytes.inject { |total, val| (total << 8) + val }
end