class Hex::IntSpec
Attributes
endianes[RW]
signed[RW]
size[RW]
Public Class Methods
new(size, signed = :signed, endianess = :little)
click to toggle source
# File lib/hex_parser.rb, line 9 def initialize(size, signed = :signed, endianess = :little) @size,@endianess,@signed= size,endianess, signed end
Public Instance Methods
get_unpack()
click to toggle source
@size = 1,2,4,8 in bytes @signed = :singed, :unsigned
# File lib/hex_parser.rb, line 15 def get_unpack() pack_str = { 1 => 'C', 2 => 'S<', 4 => 'L<', 8 => 'Q<' }[size] pack_str.downcase! if signed == :signed pack_str end
read(mem,address)
click to toggle source
bitsize = 8,16,32,64 signed = :singed, :unsigned
# File lib/hex_parser.rb, line 23 def read(mem,address) content = mem.read(address, @size) content.reverse! if @endianess == :big return content.unpack(get_unpack)[0] end